Hallo,
ich habe ein Model aufgesetzt und nachdem ich einen weiteren Point hinzugefügt hatte...das Model lädt sich tot.
Nach meinen Recherchen bin ich wohl nicht der Einzige und es mag am Semantic Model liegen oder Tags, die ich aber nicht verwende.
Setup:
openHAB 4.1.1 auf RasPi 4
Welche Optionen habe ich nun?
WIe kann ich den Fehler einkreisen?
Danke!
Hilfe Model lädt nicht mehr
- udo1toni
- Beiträge: 15216
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Hilfe Model lädt nicht mehr
In den allermeisten Fällen hast Du einen Fehler bei der Zuweisung der Tags und/oder Gruppen gemacht.
Auf beide Informationen kannst Du auch aus der Items-Ansicht zugreifen (leider nur einzeln für jedes Item).
Wichtigste Regeln:
1. Keine Zirkelbezüge! Niemals! unter keinen Umständen! (Zirkelbezug: ein Nachkomme ist gleichzeitig sein eigener Vorfahre, z.B. GroupItem2 ist Member von GroupItem1 ist Member von GroupItem3 ist Member von GroupItem2) Das kann man recht leicht über VS Code mit openHAB Plugin herausfinden, denn dort gibt es eine Baumstruktur der Items, welche immer alle Items anzeigt, eine Item taucht also in jeder Gruppe auf, der es zugeordnet ist, auch wenn das bedeutet, dass es mehrfach auftaucht.
2. Ein Item darf maximal einem Semantic Group Item zugeordnet sein, niemals mehreren Semantic Group Items. Es gibt Anwender, die das bestreiten, aber die Doku ist da eindeutig und seit V4 setzt openHAB das auch gnadenlos durch. (Ein Semantic Item darf aber durchaus mehreren Group Items angehören, nur dürfen bis auf eines davon halt keine weiteren Teil des Semantic Model sein...)
3. Ein Semantic Item hat gewöhnlich genau ein Tag, manchmal gibt es auch mehrere Tags, die müssen aber zueinander passen.
Die Zuordnung zu vieler Tags ist leider nur mit systematischem Prüfen jedes einzelnen Items zu finden.
Allerdings: Manchmal hilft es auch, openHAB mal neu zu starten. Anschließend schaust Du ins Log, dort könnte openHAB sich dann beschweren, dass es einen Fehler im Semantic Model gibt (dann gewöhnlich mit recht konkretem Hinweis auf den Fehler...)
Auf beide Informationen kannst Du auch aus der Items-Ansicht zugreifen (leider nur einzeln für jedes Item).
Wichtigste Regeln:
1. Keine Zirkelbezüge! Niemals! unter keinen Umständen! (Zirkelbezug: ein Nachkomme ist gleichzeitig sein eigener Vorfahre, z.B. GroupItem2 ist Member von GroupItem1 ist Member von GroupItem3 ist Member von GroupItem2) Das kann man recht leicht über VS Code mit openHAB Plugin herausfinden, denn dort gibt es eine Baumstruktur der Items, welche immer alle Items anzeigt, eine Item taucht also in jeder Gruppe auf, der es zugeordnet ist, auch wenn das bedeutet, dass es mehrfach auftaucht.
2. Ein Item darf maximal einem Semantic Group Item zugeordnet sein, niemals mehreren Semantic Group Items. Es gibt Anwender, die das bestreiten, aber die Doku ist da eindeutig und seit V4 setzt openHAB das auch gnadenlos durch. (Ein Semantic Item darf aber durchaus mehreren Group Items angehören, nur dürfen bis auf eines davon halt keine weiteren Teil des Semantic Model sein...)
3. Ein Semantic Item hat gewöhnlich genau ein Tag, manchmal gibt es auch mehrere Tags, die müssen aber zueinander passen.
Die Zuordnung zu vieler Tags ist leider nur mit systematischem Prüfen jedes einzelnen Items zu finden.
Allerdings: Manchmal hilft es auch, openHAB mal neu zu starten. Anschließend schaust Du ins Log, dort könnte openHAB sich dann beschweren, dass es einen Fehler im Semantic Model gibt (dann gewöhnlich mit recht konkretem Hinweis auf den Fehler...)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 13
- Registriert: 28. Mär 2024 09:38
Re: Hilfe Model lädt nicht mehr
Danke.
Hab ich im Prinzip verstanden, macht Sinn!
Ich habe keine Tags vergeben und auch keine Group aktiv angelegt oder zugeordnet. Daher weiß ich nicht wo ich sinnvoller Weise anfangen sollte zu suchen….
Wie funktioniert das mit VS Code? Das Programm läuft z.B. auf einem Mac und liest die Daten auf den Raspberry aus?
Ich wäge ab ob ich den Fehler suche oder alles neu mache…
Danke für eine Einschätzung .
Hab ich im Prinzip verstanden, macht Sinn!
Ich habe keine Tags vergeben und auch keine Group aktiv angelegt oder zugeordnet. Daher weiß ich nicht wo ich sinnvoller Weise anfangen sollte zu suchen….
Wie funktioniert das mit VS Code? Das Programm läuft z.B. auf einem Mac und liest die Daten auf den Raspberry aus?
Ich wäge ab ob ich den Fehler suche oder alles neu mache…
Danke für eine Einschätzung .
-
- Beiträge: 13
- Registriert: 28. Mär 2024 09:38
Re: Hilfe Model lädt nicht mehr
Noch eine Idee/ Frage:
Hilft es komplette bindings bzw. alle items des bindings zu entfernen?
Hilft es komplette bindings bzw. alle items des bindings zu entfernen?
- udo1toni
- Beiträge: 15216
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Hilfe Model lädt nicht mehr
Das Semantic Model funktioniert komplett mit Tags und Groups. Ganz grob: Orte und Equipment sind Group Items, die genauere Spezifizierung geschieht über Tags (z.B. Obergeschoss, Flur, Heizung, Luftfeuchte)
Bindings haben mit dem Problem nichts zu tun.
Von null neu machen kann sinnvoll sein, wenn Du bisher nur sehr wenig eingerichtet hast (meinetwegen zwei oder drei Orte/Räume und zwei oder drei Geräte). Wenn Du aber schon ein Dutzend Channel oder mehr ins Semantic Model verlinkt und vielleicht noch viel mehr Things bereits angelegt hast, wäre es schade um die vertane Arbeit.
Natürlich kann man auch argumentieren, dass Du beim zweiten Anlauf schon viel weißt und das als Übung abhaken kannst. Letztlich musst Du das selbst wissen.
VS Code: Es gibt von Microsoft einen Open Source Editor unter dem Namen VisualStudio Code (oder eben kurz VS Code) der innerhalb kürzester Zeit zum Quasi Standard Editor geworden ist - einfach weil er so irre gut ist (muss man echt anerkennen).
Einer der Vorzüge gegenüber anderen Editoren ist die gigantische Auswahl an Plugins zu allen vorstellbaren Aufgabenstellungen, die einem mit einem Editor so über den Weg laufen, angefangen mit Highlighting diverser (Programmier-)Sprachen über Tools zum Entwirren von JSON oder XML bis hin zu kompletten Compilern, die VS Code als Frontend verwenden (z.B. PlatformIO).
Und wie erwähnt gibt es ein openHAB Plugin, mit welchem man openHAB sehr komfortabel über Textdateien konfigurieren kann (da kommt openHAB ursprünglich her...). Dieses Plugin greift online über LSP auf eine frei wählbare openHAB Instanz zu, um Code zu verifizieren (womit Fehlermeldungen immer vom Server selbst kommen, nicht von einem Plugin, das von sich aus nicht wissen kann, welchen Softwarestand der Server hat) und sie greift per API auch auf die Items und Things Listen zu, dabei wird z.B. auch der aktuelle Status jedes Items angezeigt, das kann beim Entwickeln von Rules echt hilfreich sein.
VS Code gibt es für alle üblichen Betriebssysteme, selbstverständlich auch für ein aktuelles MacOS. Wenn Du VS Code installierst, musst Du anschließend aus dem VS Code Marketplace noch das Plugin installieren und anschließend über die Einstellungen die Zugangsdaten zu Deiner openHAB Instanz eintragen. Für openHAB ab V3 ist dringend angeraten, statt User und Passwort lieben ein Token einzurichten (Token kann man in der Main UI ganz einfach erstellen - unten links auf den eingeloggten User klicken, der Rest ist weitgehend selbsterklärend... - Tokennamen dürfen keine Sonderzeichen enthalten, der Scope ist momentan irrelevant
)
Bindings haben mit dem Problem nichts zu tun.
Von null neu machen kann sinnvoll sein, wenn Du bisher nur sehr wenig eingerichtet hast (meinetwegen zwei oder drei Orte/Räume und zwei oder drei Geräte). Wenn Du aber schon ein Dutzend Channel oder mehr ins Semantic Model verlinkt und vielleicht noch viel mehr Things bereits angelegt hast, wäre es schade um die vertane Arbeit.
Natürlich kann man auch argumentieren, dass Du beim zweiten Anlauf schon viel weißt und das als Übung abhaken kannst. Letztlich musst Du das selbst wissen.
VS Code: Es gibt von Microsoft einen Open Source Editor unter dem Namen VisualStudio Code (oder eben kurz VS Code) der innerhalb kürzester Zeit zum Quasi Standard Editor geworden ist - einfach weil er so irre gut ist (muss man echt anerkennen).
Einer der Vorzüge gegenüber anderen Editoren ist die gigantische Auswahl an Plugins zu allen vorstellbaren Aufgabenstellungen, die einem mit einem Editor so über den Weg laufen, angefangen mit Highlighting diverser (Programmier-)Sprachen über Tools zum Entwirren von JSON oder XML bis hin zu kompletten Compilern, die VS Code als Frontend verwenden (z.B. PlatformIO).
Und wie erwähnt gibt es ein openHAB Plugin, mit welchem man openHAB sehr komfortabel über Textdateien konfigurieren kann (da kommt openHAB ursprünglich her...). Dieses Plugin greift online über LSP auf eine frei wählbare openHAB Instanz zu, um Code zu verifizieren (womit Fehlermeldungen immer vom Server selbst kommen, nicht von einem Plugin, das von sich aus nicht wissen kann, welchen Softwarestand der Server hat) und sie greift per API auch auf die Items und Things Listen zu, dabei wird z.B. auch der aktuelle Status jedes Items angezeigt, das kann beim Entwickeln von Rules echt hilfreich sein.
VS Code gibt es für alle üblichen Betriebssysteme, selbstverständlich auch für ein aktuelles MacOS. Wenn Du VS Code installierst, musst Du anschließend aus dem VS Code Marketplace noch das Plugin installieren und anschließend über die Einstellungen die Zugangsdaten zu Deiner openHAB Instanz eintragen. Für openHAB ab V3 ist dringend angeraten, statt User und Passwort lieben ein Token einzurichten (Token kann man in der Main UI ganz einfach erstellen - unten links auf den eingeloggten User klicken, der Rest ist weitgehend selbsterklärend... - Tokennamen dürfen keine Sonderzeichen enthalten, der Scope ist momentan irrelevant

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- peter-pan
- Beiträge: 2746
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Hilfe Model lädt nicht mehr
Hast du es mit einem Neustart von OH, wie von Udo beschrieben, schon einmal probiert ? Und hast du auch keine Fehler im Log gemeldet bekommen ?
Evtl. könntest du auch mal versuchen auf Shell-Ebene (Putty) den OH-Cache zu löschen
1) OH stoppen (sudo systemctl stop openhab)
2) Cache löschen (sudo openhab-cli clean-cache)
3) OH starten (sudo systemctl start openhab)
Der Neustart von OH dauert dann beim ersten mal etwas länger, weil diverse "OH-Interna" neu angelegt werden müssen.
Noch eine kleine Anmerkung zu VSC:
Ich bin auch total begeistert von dem Editor, da ich 99% meiner Konfiguration textbasiert angelegt habe. Wenn du natürlich dein SetUp über die MainUI erledigt hast, dann wird dir, soweit ich weiss, der VS-Code-Editor keine grosse Hilfe sein können.
Hier noch ein Beispiel, wie ich meine grundsätzliche Raumaufteilung (locations) vorgenommen habe:
Dieser Aufbau hat zunächst mal nichts mit Bindings, etc. zu tun. Aber vielleicht hilft es dir die Verknüpfung der "Group-Item" - Tags (Hirachie) besser zu verstehen.
Das kann man auch ganz schön in der Beschreibung des Semantic-Models nachlesen, falls du das nicht schon hast.
Things, Items, etc., habe ich dann in separaten Dateien abgelegt (z.B.: Ntp-Binding -> ntp.things, ntp.item, ntp.rules), ganz nach persönlichem Gusto.
Evtl. könntest du auch mal versuchen auf Shell-Ebene (Putty) den OH-Cache zu löschen
1) OH stoppen (sudo systemctl stop openhab)
2) Cache löschen (sudo openhab-cli clean-cache)
3) OH starten (sudo systemctl start openhab)
Der Neustart von OH dauert dann beim ersten mal etwas länger, weil diverse "OH-Interna" neu angelegt werden müssen.
Noch eine kleine Anmerkung zu VSC:
Ich bin auch total begeistert von dem Editor, da ich 99% meiner Konfiguration textbasiert angelegt habe. Wenn du natürlich dein SetUp über die MainUI erledigt hast, dann wird dir, soweit ich weiss, der VS-Code-Editor keine grosse Hilfe sein können.
Hier noch ein Beispiel, wie ich meine grundsätzliche Raumaufteilung (locations) vorgenommen habe:
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"] { widgetOrder="1" }
Group gFront "Vorgarten" <garage_1> (gAussen) ["Garden"] { widgetOrder="1" }
Group gHof "Garageneinfahrt" <garage_1> (gAussen) ["Driveway"] { widgetOrder="2" }
Group gGarage "Garage" <garage_1> (gAussen) ["Garage", "garage_detached"] { widgetOrder="3" }
Group gBack "Garten Südseite" <garage_1> (gAussen) ["Garden"] { widgetOrder="4" }
Group gGhaus "Gartenhütte" <garage_1> (gAussen) ["Outdoor"] { widgetOrder="5" }
// Innenbereich - Indoor
Group gInnen "Innenbereich" <house> (gEstate) ["Indoor"] { widgetOrder="2" }
Group gHome "Casa Claudia" <house> (gInnen) ["Building"]
// Stockwerke - Floors
Group gEG "Erdgeschoss" <groundfloor> (gHome) ["GroundFloor"] { widgetOrder="2" }
Group gDG "Dachgeschoss" <firstfloor> (gHome) ["Attic"] { widgetOrder="3"}
Group gUGElw "ELW UG" <cellar> (gHome) ["Basement"] { widgetOrder="1"}
Group gUGKel "Keller" <cellar> (gHome) ["Basement"] { widgetOrder="0"}
// Zimmer - Rooms
Group gEG_Bad "Badezimmer" <bubble_bath> (gEG) ["Bathroom" ] { synonyms="Badezimmer" }
Group gEG_Essen "Esszimmer" <dining> (gEG) ["DiningRoom" ]
Group gEG_Kind1 "Zimmer Claudia" <girl_3> (gEG) ["GuestRoom", "Vorrat","Kinder" ] { synonyms="Speisekammer" }
Group gEG_WC "Toilette" <toilet> (gEG) ["Bathroom" ]
Group gEG_Wohnen "Wohnzimmer" <living> (gEG) ["LivingRoom" ]
Group gEG_Schlafen "Schlafzimmer" <bed> (gEG) ["Bedroom" ]
Group gEG_Kueche "Küche" <catfridge> (gEG) ["Kitchen" ]
Group gEG_Windfang "Windfang-Garderobe" <wardrobe> (gEG) ["Entry" ]
Group gEG_Vorgarten "Vorgarten" <lawnmower> (gEG) ["Garden" ]
Group gEG_Terrasse "Terrasse" <terrace> (gEG) ["Terrace" ]
Group gEG_Kind2 "Zimmer York" <boy_3> (gEG) ["Room", "Kinder" ] { synonyms="Kinderzimmer" }
Group gEG_Diele "Diele" <corridor> (gEG) ["Corridor" ]
Group gEG_Flur "Flur" <corridor> (gEG) ["Corridor" ]
Group gEG_Buero "Arbeitszimmer" <office> (gEG) ["Office" ] { synonyms="Bureau,Bureaux" }
Group gDG_Speicher "Dachboden" <attic> (gDG) ["Room" ]
Group gUG_Wohnen "Wohn-Esszimmer" <sofa> (gUGElw) ["LivingRoom" ]
Group gUG_Schlafen "Schlafzimmer" <bed> (gUGElw) ["Bedroom" ]
Group gUG_Bad "Badezimmer" <bath> (gUGElw) ["Bathroom" ]
Group gUG_Diele "Flur" <corridor> (gUGElw) ["Corridor" ]
Group gUG_Waschkueche "Waschküche" <washingmachine> (gUGKel) ["LaundryRoom" ]
Group gUG_Heizraum "Heizungsraum" <heating> (gUGKel) ["BoilerRoom" ]
Group gUG_Keller "Keller" <cellar> (gUGKel) ["Cellar" ]
Group gUG_Holzkeller "Holz-Keller" <cellar> (gUGKel) ["Cellar", "Holz" ]
Group gSpecial "Special" (gInnen) ["Indoor"]
Group gMonitor "Monitoring" (gInnen) ["Indoor"]
// aktive Gruppen - Monitoring
Group:Switch:OR(ON,OFF) gLight "Licht [MAP(de.map):%s]" <light> (gHome) ["Indoor"]
Group:Switch:OR(ON,OFF) gSwiSo "Schalter-Steckdosen [MAP(de.map):%s]" <light> (gHome) ["Indoor","Light"]
Group:Contact:OR(OPEN,CLOSED) gDoor "Türen [MAP(de.map):%s]" <door> (gHome) ["Indoor"]
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Locations - End +
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Das kann man auch ganz schön in der Beschreibung des Semantic-Models nachlesen, falls du das nicht schon hast.

Things, Items, etc., habe ich dann in separaten Dateien abgelegt (z.B.: Ntp-Binding -> ntp.things, ntp.item, ntp.rules), ganz nach persönlichem Gusto.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.4 openhabian