Seite 2 von 10

Re: Openhab mit Visual Studio Code

Verfasst: 30. Nov 2020 20:55
von Darkwin101
Klar da kommt es ja erstens auf die Datei an und auf das Binding das du benutzen willst und in den Beschreibungen der Bindings findest du immer Beispiele

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 00:07
von peter-pan
Wenn ich deinen Screenshot richtig interpretiere, hast du deinen openHAB-Ordner über den Share mit VSC auf gemacht. Das solltest du nicht so machen.

Verbinde deinen Share mit einem Netzlaufwerk unter Windows und öffne den Ordner dann über den Laufwerksbuchstaben. Das sieht dann so aus:
laufwerk.jpg
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Eine einfache Möglichkeit Items aus deinen Things zu generieren:

1. Erstelle eine neue leere Datei vom Typ "openHAB":
Datei.jpg
2. Klicke auf der linken Menüleiste auf das Symbol von OH. Es erscheinen dann, u. a. auch die "Things". Suche dein Thing aus, von welchem du Items erstellt haben möchtest.
3. Klicke mit der rechten Maustaste auf das "Thing" deiner Wahl und wähle "Create Items from Channels". Und wie von Zauberhand, werden alle Items in deine Items-Datei übernommen.

Aber Achtung: Du hast dann wahrscheinlich zwei Versionen deiner Items. Eine Version, die du über PaperUI angelegt hast und eine (wenn du sie abspeicherst) als Text-Version. Wahrscheinlich zwar mit unterschiedlichen Namen, aber eben doppelt. Das solltest du tunlichst vermeiden.

Wie man Items oder Things anlegst findest du auch in der Doku, z.B.: hier die Items oder hier die Things. Details zu den Things findest du auch beim jeweiligen Binding.

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 09:32
von Philipp00
Meinst du so?
VSC1.JPG
Danke für deinen Support, dann muss ich mich erstemals schlau machen wie ein Thing richtig angelgt wird, als Textfile.
Bis anhing habe ich dies im Paperui angelegt.

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 09:48
von peter-pan
Das sieht doch jetzt ganz gut aus. Und einen lokalen .vscode-Ordner hast du auch schon angelegt und wahrscheinlich deine "settings.json" hier befüllt.

Was für Things brauchst du denn ? Vielleicht können wir dir mit einem "Muster" weiter helfen ;)

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 10:25
von udo1toni
Ich hatte gestern schon ein Posting dazu verfasst, aber irgendwie ist das im Datennirvana verschwunden...

Items haben eine genau festgelegte Definition, die immer gleich ist:

Code: Alles auswählen

itemtype itemname "labeltext [stateformat]" <iconname> (group1, group2, ...) ["tag1", "tag2", ...] {bindingconfig}
Die Reihenfolge ist dabei fest vorgegeben, aber nur der erste und zweite Parameter sind notwendig, also um welche Art Item es sich handelt und wie es heißt. Alle anderen Parameter können - auch teilweise, auch zwischendrin - weggelassen werden. Aber wie erwähnt darf keinesfalls die Reihenfolge geändert werden.

Das Gleiche gilt sinngemäß für Things:

Code: Alles auswählen

Thing <binding_id>:<type_id>:<thing_id> "Label" @ "Location" [ <parameters> ]
Dabei sind die Parameter eine kommaseparierte Liste. Die Reihenfolge der Parameter in dieser Liste ist nicht festgelegt, Parameter mit einem Defaultwert dürfen weggelassen werden.

Es gibt Auch Addons, die eine Bridge zur Verfügung stellen, das bedeutet, es gibt potenziell mehrere Things, die über diese Bridge angebunden sind. Dann sieht das so aus:

Code: Alles auswählen

Bridge <binding_id>:<type_id>:<bridge_id> "Label" @ "Location" [ <parameters> ] {
    Thing <type_id> <thing_id> "Label" @ "Location" [ <parameters> ]
}
Scließlich kann man noch Channel definieren oder konfigurieren, diese gehören zum Thing:

Code: Alles auswählen

Thing <binding_id>:<type_id>:<thing_id> "Label" @ "Location" [ <parameters> ]{
    Channel:
    Type <channeltype> : <channel-id> "Label" [ <parameters> ]
}
Die Schlüsselworte Bridge, Thing und Channel: können auch weg gelassen werden.

Alle Bridges und Things können in dieser Form konfiguriert werden, wobei sich die Parameter naturgemäß teilweise deutlich von Binding zu Binding unterscheiden. Die Form ist aber immer die oben angegebene.

Bei Things mit einer Bridge gibt es noch eine alternative Schreibweise, denn die oben gezeigte Definition hat eine Einschränkung: Man kann das Thing nicht unabhängig von der Bridge definieren.
Deshalb gibt es alternativ auch diese Schreibweise:

Code: Alles auswählen

Thing <binding_id>:<type_id>:<bridge_id>:<thing_id> "Label"  (<binding_id>:<type_id>:<bridge_id>) @ "Location" [ <parameters> ]
Man muss also jeweils nicht nur die bridge-ID vorne mit dazu schreiben, sondern auch noch einmal die Bridge explizit hinter dem Label angeben.
Deshalb ist diese Schreibweise eher unüblich.

Ich empfehle immer, pro Binding eine things Datei anzulegen und davon nur abzuweichen, wenn es nur ein oder zwei Zeilen pro Bindng sind (z.B. NTP, und Astro). Damit ist das ganze übersichtlich und man weiß direkt, wo man suchen muss, wenn man etwas anpassen will. Aus dem gleichen Grund rate ich davon ab, Bridge und Things voneinander getrennt anzulegen (außerdem ist es ja mehr Tipparbeit...). Die Größe der Things-Dateien und Items-Dateien spielt für die Reaktionsfreudigkeit von openHAB nur eine untergeordnete Rolle, allenfalls beim Start könnte das Auswirkungen haben.

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 11:05
von Philipp00
Danke für eure Hilfe, werde dies heute mal austesten.
Bei der erstellung von Daten für influxdb, habe ich folgendes Problem, sprich ich kannd as File nicht abspeichern, erhalte folgende Fehlermeldung (siehe Foto) zuerst das obere und wenn ich auf den Button als Admin abspeichern die untere.

VSC2.JPG

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 11:50
von peter-pan
Das könnte ein Berechtigungsproblem zwischen Windows und deinem Pi sein.
Ist der Name und Kennwort mit dem du den Share mit Windows verbunden hast, der gleiche,mit dem du dich auch auf der Konsole des Pi anmeldest ?

Hast du schon mal versucht mit "sudo openhab-cli reset-ownership" die Berechtigungen zu überprüfen und ggf. zu berichtigen ?

Weiter fällt mir im Moment nichts mehr ein. Vielleicht weiß Udo die Lösung.

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 13:40
von udo1toni
Peter-Pan hat es schon richtig beschrieben.

Aber zur Erläuterung: Es gibt auf openHAB-Seite mindestens zwei User, die hier interessant sind. Peter hat ja oben schon mal gefragt... hast Du mit openHABian installiert? Das wäre an dieser Stelle wichtig zu wissen... Egal... Es gibt mindestens einen User openhab und einen weiteren User, der dann z.B. pi heißt, oder openhabian. Der User openhab wird genutzt, um das Programm openHAB auszuführen. Gewöhnlich sollten diesem User auch die fraglichen Dateien und Verzeichnisse gehören.
Der andere User wird verwendet, um sich über ssh mit dem Raspberry zu verbinden.

Jetzt kommt Samba ins Spiel. In Samba muss jeder User, der Zugriff bekommen soll, explizit angelegt werden. Der User muss dazu gewöhnlich im GNU/Linux System angelegt sein, auch wenn der Zusammenhang nicht zwingend ist.
Das Passwort muss für die Samba-Seite separat gesetzt werden (smbpasswd ist der Befehl dazu).

Auf dem Windows System hast Du ebenfalls einen User :) und der hat nun wieder gar nichts mit den GNU/Linux bzw. Samba Usern zu tun. Da ist es aber eher offensichtlich...
Damit Du lesend auf ein Samba Verzeichnis zugreifen kannst, muss dieses Verzeichnis mindestens für Lesezugriff für den Samba User freigegeben sein (das ist der Normalfall). Die Anmeldung an Samba muss natürlich mit einem Samba User erfolgen.

Jetzt kommt der Schreibzugriff. Hier reicht es nun leider nicht, dass der Samba User Schreibzugriff hat. Der zugehörige GNU/Linux User muss ebenfalls Schreibrechte haben, daran scheitert es gerne mal.

VSCode bietet Dir Zugriff als Admin an, leider ist das aber nicht root auf dem Sambaserver (der als Samba User gewöhnlich aus guten Gründen gar nicht existiert), sondern es ist der Administrationsuser auf dem Windows System.

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 18:42
von Philipp00
Hab mein Glück mal versucht um ein eigenes Thing zu erstellen, leider noch ohne Erfolg, sprich hab das mal aus einer Vorlage abgeschrieben und versucht so anzupassen das es auf meinen Sensor passt, leider funktioniert es noch nicht so ganz, habt ihr Tipps.
VSC3.JPG

Code: Alles auswählen

Bridge mqtt:broker:MQTTBroker "MQTTBroker" [host = "127.0.1.1" , port=1883, secure=false, username "openhab", passwort "openhab", clientID="openHAB2" qos = "1"]
{
        Thing mqtt:topic:HT_Badklein "HT Bad klein" {
            Channels:
                Type number : HT "Bad klein" [stateTopic = "shellies/shellyht-957268/sensor/temperature", commandTopic = "shellies/shellyht-957268/sensor/temperature/command"]        


        }

}

Re: Openhab mit Visual Studio Code

Verfasst: 1. Dez 2020 22:03
von Philipp00
Hab noch etwas weiter ausprobiert und bin mittlerweile soweit.


Code: Alles auswählen


Bridge mqtt:broker:MQTTBroker "MQTTBrokerCSV" [host = "192.169.1.244" , port=1883, secure=false, username = "openhab", passwort = "openhab", clientID="openHAB2", qos = "1"]
{
        Thing mqtt:topic:HT_Badklein "HT Bad klein" {
            Channels:
                Type number : HTBadklein "Bad klein" [stateTopic = "shellies/shellyht-957268/sensor/temperature", commandTopic = "shellies/shellyht-957268/sensor/temperature/command"]        
        }

}



VSC5.JPG
VSC6.JPG