Sonoff S20 schaltet per MQTT aber keine .things-Datei ?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
tsch
Beiträge: 66
Registriert: 22. Jun 2019 10:33
Answers: 0
Wohnort: Neuberg

Sonoff S20 schaltet per MQTT aber keine .things-Datei ?

Beitrag von tsch »

Hallo,

ich kann nun den S20 per openHAB schalten, jedoch wollte ich ursprünglich per Paper UI ein Thing konfigurieren und dann in der .things nachsehen, wie die Syntax lautet, um dann per Editor weitere Things (S20-Switches) anzulegen.
paperui.JPG
Leider wurde keine .things Datei im entsprechenden Verzeichnis erzeugt (s. Bilder).
things.JPG
Liegt die Datei evtl. an anderer Stelle ab oder werden per Paper UI angelegte Things nicht in einer .things gespeichert?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Sonoff S20 schaltet per MQTT aber keine .things-Datei ?

Beitrag von sihui »

tsch hat geschrieben: 30. Jun 2019 09:09 Liegt die Datei evtl. an anderer Stelle ab oder werden per Paper UI angelegte Things nicht in einer .things gespeichert?
Korrekt. Die Speicherung erfolgt in der JsonDB:
https://www.openhab.org/docs/administra ... al-editing
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

tsch
Beiträge: 66
Registriert: 22. Jun 2019 10:33
Answers: 0
Wohnort: Neuberg

Re: Sonoff S20 schaltet per MQTT aber keine .things-Datei ?

Beitrag von tsch »

Danke für die schnelle Antwort.

Wenn ich also per Paper UI Things anlege kann ich nicht mit dem Visual Studio Code Editor und .things Dateien "arbeiten" sondern diese werde in o.g. JsonDB gespeichert.
Kann ich denn die in der JsonDB angelegten Things in ein Format bringen, damit ich diese per Editor doch in .things Ddateien weiterverarbeiten kann?
Scheint mir schneller zu gehen und ist für mich auch logischer nachzuvollziehen.

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Sonoff S20 schaltet per MQTT aber keine .things-Datei ?

Beitrag von sihui »

tsch hat geschrieben: 30. Jun 2019 10:26 Kann ich denn die in der JsonDB angelegten Things in ein Format bringen, damit ich diese per Editor doch in .things Ddateien weiterverarbeiten kann?
Ja, du musst sie vom Format her anpassen, Beispiel:

JsonDB:

Code: Alles auswählen

  "network:pingdevice:tablet_living": {
    "class": "org.eclipse.smarthome.core.thing.internal.ThingImpl",
    "value": {
      "label": "Network_tablet_living",
      "channels": [
        {
          "acceptedItemType": "Switch",
          "kind": "STATE",
          "uid": {
            "segments": [
              "network",
              "pingdevice",
              "tablet_living",
              "online"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "network",
              "online"
            ]
          },
          "label": "Online",
          "description": "Gibt an ob das Gerät aktuell online oder offline ist.",
          "configuration": {
            "properties": {}
          },
          "properties": {},
          "defaultTags": []
        },
        {
          "acceptedItemType": "Number",
          "kind": "STATE",
          "uid": {
            "segments": [
              "network",
              "pingdevice",
              "tablet_living",
              "latency"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "network",
              "latency"
            ]
          },
          "label": "Pingzeit",
          "description": "Gibt an wie lange ein Ping in Millisekunden an das Gerät dauert.",
          "configuration": {
            "properties": {}
          },
          "properties": {},
          "defaultTags": []
        },
        {
          "acceptedItemType": "DateTime",
          "kind": "STATE",
          "uid": {
            "segments": [
              "network",
              "pingdevice",
              "tablet_living",
              "lastseen"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "network",
              "lastseen"
            ]
          },
          "label": "Zuletzt gesehen",
          "description": "Gibt Zeit/Datum an wann das Gerät zuletzt gesehen wurde.",
          "configuration": {
            "properties": {}
          },
          "properties": {},
          "defaultTags": []
        }
      ],
      "configuration": {
        "properties": {
          "hostname": "192.168.2.24",
          "refreshInterval": 30000,
          "retry": 2,
          "timeout": 5000
        }
      },
ergibt Things Datei:

Code: Alles auswählen

network:pingdevice:tablet_living [ hostname="192.168.2.24", retry=2, timeout=5000, refresh_interval=30000 ]
Die Frage die ich mir stelle: warum willst du Things in Textdateien speichern? PaperUI ist da deutlich komfortabler und für die JsonDB werden sogar automatisch Backups erstellt.
Ich habe beim Wechsel von openHAB 1.X auf 2.X auch mit diesen Textdateien herumgespielt und habe es schnell sein lassen weil es mir zu aufwändig war.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

tsch
Beiträge: 66
Registriert: 22. Jun 2019 10:33
Answers: 0
Wohnort: Neuberg

Re: Sonoff S20 schaltet per MQTT aber keine .things-Datei ?

Beitrag von tsch »

sihui hat geschrieben: 30. Jun 2019 13:26 Die Frage die ich mir stelle: warum willst du Things in Textdateien speichern? PaperUI ist da deutlich komfortabler und für die JsonDB werden sogar automatisch Backups erstellt.
Ich habe beim Wechsel von openHAB 1.X auf 2.X auch mit diesen Textdateien herumgespielt und habe es schnell sein lassen weil es mir zu aufwändig war.
Deine Frage ist absolut berechtigt. Wenn die Daten in der JasonDB sicher aufgehoben sind spricht natürlich nichts dagegen, diese per VSC zu editieren, statt erst mit Paper UI Things zu erstellen und diese dann per Editor aus JsonDB in .things zu importieren.

Ich werde mich zunächst mal mit der JasonDB-Syntax anfreunden und damit weitere Erfahrungen sammeln, da dies ja das von OpenHAB bevorzugte Format ist.

Vielen Dank für Deine wertvolle Hilfe.

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Sonoff S20 schaltet per MQTT aber keine .things-Datei ?

Beitrag von udo1toni »

Nein, bitte nicht.

die jsonDB ist nicht zum manuellen editieren gedacht. Dementsprechend interessiert sich openHAB auch nicht, ob die Dateien bearbeitet werden. Das heißt, man muss openHAB vor dem Editieren beenden, damit die Änderungen dann nach dem nächsten Start vorhanden sind.
Falls man die Datei in einem ungültigen Zustand zurück lässt, kann das zum völligen Stillstand von openHAB führen, da openHAB sich auch darauf verlässt, dass die Daten schon in Ordnung sein werden - schließlich ist openHAB normalerweise der einzige Bearbeiter.

Die .things Dateien sind also momentan der einzige "gute" Weg, Things per Text zu konfigurieren. VSCode kann hier auch Fehler anzeigen. Das Format ist für alle Things gleich:

Code: Alles auswählen

Bridge addon:typ:name "Label" @ "Paper PU Control Kategorie" [Parameterliste] {
 Thing typ name "Label" @ "Paper PU Control Kategorie" [Parameterliste] {
 Channels: 
   Type channeltype : name "Label" [Parameterliste] 
   }
   } 
Um die Parameter herauszufinden, schaut man entweder in der Doku nach, oder falls dort nichts hinterlegt ist, kann man die Parameter auch über die REST API Dokumentation herausfinden (wenn man mal geschnallt hat, was die JSON-Antwort bedeutet)
Es gibt noch eine zweite Form, bei der Bridge und zugeordnete Things unabhängig voneinander stehen können, auch dateiübergreifend. Diverse Schlüsselworte der Definition sind optional, weil der Kontext genügend genau ist.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten