Status wird nicht angezeigt

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Olias
Beiträge: 3
Registriert: 29. Apr 2024 23:07
Answers: 0

Status wird nicht angezeigt

Beitrag von Olias »

Hallo,

Ich bin Olias und versuche gerade mein Haus schrittweise sinnvoll zu automatisieren, da ich schlicht oft nicht zu hause bin.

Ich habe nachdem ich viele, viele Stunden lang Anleitungen gelesen, Videos dazu gesehen und meiner Meinung nach wirklich alles probiert habe mich doch dazu entschlossen hier meine Frage zu stellen.
Vermulich fehlt die Hälfte an Rahmendaten und Konfigurationen die ich natürlich sofort nachreiche wenn dies gewünscht wird.

Grundsätzlich kann ich diverse Dinge programmieren, verbringe mehr Zeit mit der Bash und Config files als im Bett und bin sehr leidensfähig was steile Lernkurven angeht.

Kann mir jemand einen Tipp geben?

Ich habe Openhab seit rund einem Monat auf einem Pi am laufen und bislang nur 4 Things integriert:

- 3 Rolläden mit Shelly 2.5
- einen Türsensor (http-binding) der mir per ggf http PUT sendet, und ich zusätzlich regelmäßig polle.

Der Türsonsor ist ein Add-On auf einem der Shellys, da ich schlicht zu blöd war diesen richtig als Teil des Schelly einzubinden.

Die Steuerung der Rolladen geht, der Status der Rolläden / der Tür ist auch im OH-Server drin, aber in der UI ist der Status immer '-'.
Irgendwas habe ich offensichtlich falsch gemacht.

Shelly 2.5 Rolladen:
Shelly_rollo.png
Shelly Addon Tür:
Tuer.png
$ curl -X GET --header "Accept: application/json "localhost:8080/rest/items/Rollo_Terrassentur_Rollladenstatus"

Code: Alles auswählen

{
  "link": "http://localhost:8080/rest/items/Rollo_Terrassentur_Rollladenstatus",
  "state": "close",      #<------------------- da
  "stateDescription": {
    "pattern": "%s",
...
curl -X GET --header "Accept: application/json" "localhost:8080/rest/items/Terassentur_Schiebetur_Terasse"

Code: Alles auswählen

{
  "link": "http://localhost:8080/rest/items/Terassentur_Schiebetur_Terasse",
  "state": "CLOSED",    #<------------------- da
  "stateDescription": {
    "readOnly": true,
    "options": []
  },
  "metadata": {
    "semantics": {
      "value": "Point_Status_OpenState",
      "config": {
        "relatesTo": "Property_Opening",
        "hasLocation": "w_eg_wz"
      }
    }
  },
  "editable": true,
  "type": "Contact",
  "name": "Terassentur_Schiebetur_Terasse",
  "label": "Schiebetür Terasse",
  "category": "door",
  "tags": [
    "Opening",
    "OpenState"
  ],
  "groupNames": [
    "w_eg_wz"
  ]
}
Von dem feuchten Träumen, dass der Status auch in einem Widget ankommt, oder gar als veränderliches Icon dargestellt wird Berichte ich später.

Vielen Dank schon mal an alle die sich dass schon mal durchgelesen habe.

Grüße

Olias!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Harka
Beiträge: 317
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: Status wird nicht angezeigt

Beitrag von Harka »

Moin,
ich konnte das bisher nicht reproduzieren. Von daher habe ich keine Lösung für Dich sondern nur Anregungen zur Fehlersuche.
- Wie fügst Du Deine Items hinzu? Wenn ich beim Shelly Plus2PM (welchen Du hier offensichtlich hast) den Status hinzufüge, funktioniert es auf Anhieb.
- Wenn Du doch Shelly 2.5 einsetzt, bitte das Gerät korrekt als shelly:shelly25-roller einbinden.
- Lösche mal bitte das Item und geh in der Modellansicht bei markiertem Shelly auf "Create Points from Thing". Wenn Du jetzt Shelly/Rolladenstatus auswählst bitte nur Name und Label an Deinen Wunsch anpassen.
- Wenn es dann immer noch nicht klappt - bei "localhost:8080/rest/items/Rollo_Terrassentur_Rollladenstatus" - geht stateDescription wie folgt weiter?

Code: Alles auswählen

"stateDescription": {
    "pattern": "%s",
    "readOnly": true,
    "options": [
      {
        "value": "open",
        "label": "offen"
      },
      {
        "value": "close",
        "label": "geschlossen"
      },
      {
        "value": "stop",
        "label": "gestoppt"
      }
    ]
  },
- Im ersten Bild stehen bei Profile "Default" und "Follow". Bei mir "Standard" und "Folgen". Kein Plan ob sich eine möglicherweise fehlerhafte Konfiguration in dieser Weise auswirkt.
- Den Status benutze ich übrigens gar nicht. roller#control (Rollensteuerung) macht den Job imho viel besser.

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

Re: Status wird nicht angezeigt

Beitrag von udo1toni »

Herzlich willkommen im openHAB Forum!

Zunächst einmal (nur der Vollständigkeit halber): Welche exakte Version? (Welches Pi Modell, welche Ausstattung (RAM...), welches Betriebssystem (openHABian Image? Welches?), welche exakte Version von openHAB (mutmaßlich 4.1.2, aber könnte ja auch eine andere Version sein).

Bezüglich der Rollläden muss ich konstatieren, dass der Autor des Bindings die Chance vertan hat, das Verhalten so zu programmieren, wie es in openHAB gehändelt wird (wohlgemerkt, es ist ein openHAB Addon):
Gewöhnlich sollte es pro Aktuator exakt einen Channel geben, und zwar passend zum Aktuator. Im Falle eines Rollladens also ein rollershutter Channel, der dann auch mit exakt einem Rollershutter Item verlinkt werden kann. Der Channel liefert als Wert 0 für offen und 100 für geschlossen oder halt einen Wert zwischen diesen beiden Extremwerten wenn der Rollladen nicht in einer der beiden Endlagen steht. Der Channel reagiert außerdem auf die Befehle, die ein Rollershutter Item senden kann, also UP/DOWN/STOP sowie die Zahlen 0 bis 100 für direkte Positionsfahrten.
Für über dieses Minimum hinausgehende Funktionen gibt es dann zusätzliche Channel (z.B. die vier "Favoriten" Positionen wären ein zusätzlicher Number Channel)

Mein Tipp an dieser Stelle wäre, den Shelly auf Tasmota umzuflashen. Tasmota bietet eine extrem gute Implementation von mqtt (im Gegensatz zu Shelly, die haben das kaputt optimiert) und man kann recht einfach den Rollershutter Mode aktivieren. Anschließend lässt sich der Shelly dann so einbinden, wie von mir beschrieben, ohne Kompromisse.

Auch der Türsensor sollte über Tasmota realisierbar sein, es gibt in Tasmota Rules (bitte nicht mit denen in openHAB verwechseln...) über die man alles realisieren kann, was die Hardware hergibt. Da Du den Zustand, der gemeldet wird, innerhalb der Rule frei definieren kannst, kannst Du auch direkt OPEN und CLOSED als Werte senden, so dass die Anbindung an ein Contact Item dann keine Herausforderung darstellt.

Und sobald der korrekte Status im Item ankommt :) wirst Du diesen auch in den passenden Widgets zu Gesicht bekommen.

Da ich selbst keine Shelly2.5 im Einsatz habe, weiß ich nicht, wie man mit der Originalfirmware und der (in meinen Augen katastrophalen) Umsetzung über das Shelly Binding sauber hinbekommt, am ehesten könnte man versuchen, über den rollerpos und den control Channel in Kombination mit einem Proxy Item und einer Rule (diesmal openHAB...) den Aktuator openHAB-konform abzubilden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

violine21
Beiträge: 590
Registriert: 20. Sep 2019 05:49
Answers: 7

Re: Status wird nicht angezeigt

Beitrag von violine21 »

Wie ist denn der Shelly 2.5 konfiguriert?
Als Relais oder als Rollladen-Aktor?
Shelly.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Olias
Beiträge: 3
Registriert: 29. Apr 2024 23:07
Answers: 0

Re: Status wird nicht angezeigt

Beitrag von Olias »

Hallo,

vielen danke schon mal für die Gedanken dazu!

@udo1toni
Zunächst einmal (nur der Vollständigkeit halber): Welche exakte Version? (Welches Pi Modell, welche Ausstattung (RAM...), welches Betriebssystem (openHABian Image? Welches?), welche exakte Version von openHAB (mutmaßlich 4.1.2, aber könnte ja auch eine andere Version sein)
Pi 4 B, 4 GB
Raspbian 12
Openhab 4.1.2-1

Code: Alles auswählen

root@nas:~# cat /etc/issue
Raspbian GNU/Linux 12 \n \l
root@nas:~#  cat /sys/firmware/devicetree/base/model
Raspberry Pi 4 Model B Rev 1.2
root@nas:~# head /proc/meminfo
MemTotal:        3447996 kB
MemFree:         2069272 kB
MemAvailable:    2822388 kB
root@nas:~# dpkg -l | grep openh
ii  openhab                           4.1.2-1                                                                    all          openhab
ii  openhab-addons                    4.1.2-1                                                                    all          openhab-addons
@Harka

Ja stimmt sind doch 'nur' Shelly 2 PM nicht 2.5

Ich habe eben einen Shelly (Rolladen hinten) rausgeworfen und über den Scan des Shelly bindings automagisch wieder hinzugefügen lassen.
Dann im Model "Create Equipment from Thing", dort "Rollensteuerung roller#control" und den "Rollladenstatus roller#state (String)" gewählt.

Geht nicht :-( , den Piont einzeln in Equipment hinzuzufügen ändert nichts.
- Wenn es dann immer noch nicht klappt - bei "localhost:8080/rest/items/Rollo_Terrassentur_Rollladenstatus" - geht stateDescription wie folgt weiter?
hier mal komplett für hinten:

Code: Alles auswählen

root@nas:~# curl -X GET --header "Accept: application/json" "http://localhost:8080/rest/items/Rollo_Hinten_Rollladenstatus" | jq
{
  "link": "http://localhost:8080/rest/items/Rollo_Hinten_Rollladenstatus",
  "state": "NULL",   ## <-- spannend...
  "stateDescription": {
    "pattern": "%s",
    "readOnly": true,
    "options": [
      {
        "value": "open",
        "label": "offen"
      },
      {
        "value": "close",
        "label": "geschlossen"
      },
      {
        "value": "stop",
        "label": "gestoppt"
      }
    ]
  },
  "commandDescription": {
    "commandOptions": [
      {
        "command": "open",
        "label": "offen"
      },
      {
        "command": "close",
        "label": "geschlossen"
      },
      {
        "command": "stop",
        "label": "gestoppt"
      }
    ]
  },
  "metadata": {
    "semantics": {
      "value": "Point",
      "config": {
        "isPointOf": "Rollo_Hinten"
      }
    }
  },
  "editable": true,
  "type": "String",
  "name": "Rollo_Hinten_Rollladenstatus",
  "label": "Rollladenstatus",
  "category": "Status",
  "tags": [
    "Point"
  ],
  "groupNames": [
    "Rollo_Hinten"
  ]
}
"state": "NULL", ## <-- spannend...

Olias
Beiträge: 3
Registriert: 29. Apr 2024 23:07
Answers: 0

Re: Status wird nicht angezeigt

Beitrag von Olias »

Ich habe es nochmal für den der Tarassentür geprüft:

Vorher:

Code: Alles auswählen

root@nas:~# curl -X GET --header "Accept: application/json" "http://localhost:8080/rest/items/Rollo_Terrassentur_Rollladenstatus" | jq
{
  "link": "http://localhost:8080/rest/items/Rollo_Terrassentur_Rollladenstatus",
  "state": "open", 
  "stateDescription": {
    "pattern": "%s",
    "readOnly": true,
    "options": [
      {
        "value": "open",
        "label": "offen"
      },
      {
        "value": "close",
        "label": "geschlossen"
      },
      {
        "value": "stop",
        "label": "gestoppt"
      }
    ]
  },
  "commandDescription": {
    "commandOptions": [
      {
        "command": "open",
        "label": "offen"
      },
      {
        "command": "close",
        "label": "geschlossen"
      },
      {
        "command": "stop",
        "label": "gestoppt"
      }
    ]
  },
  "metadata": {
    "semantics": {
      "value": "Point",
      "config": {
        "isPointOf": "Rollo_Terrassentur"
      }
    }
  },
  "editable": true,
  "type": "String",
  "name": "Rollo_Terrassentur_Rollladenstatus",
  "label": "Rollladenstatus",
  "category": "Status",
  "tags": [
    "Point"
  ],
  "groupNames": [
    "Rollo_Terrassentur"
  ]
}
Hinterher (Thing wegwerfen, völlig automatisch [dummy modus, nur weiter klicken, blos´ nix ändern] wieder rein) sieht es dort genauso aus.

Code: Alles auswählen

root@nas:~# curl -X GET --header "Accept: application/json" "http://localhost:8080/rest/items/Rollo_Terrassentur_Rollladenstatus" | jq
{
  "link": "http://localhost:8080/rest/items/Rollo_Terrassentur_Rollladenstatus",
  "state": "open",
  "stateDescription": {
    "pattern": "%s",
    "readOnly": true,
    "options": [
      {
        "value": "open",
        "label": "offen"
      },
genauso wie eben...

Und das ändert ich sogar zu stop / close wenn ich den Rolladen am Taster oder in der OH-UI in bewegung setze!

In der UI bleibt es / ist es immer wieder nur in Strich (-)

Die Rolläden Hinten und Mitte sind elektrisch etwas "interrasant" verbaut. Dort habe ist 2 Serientaster mit den Shellys in ein 2-fach Aufputzgehäuse von BJ gequetscht, was ich sehr ungern wieder öffnen möchte. Sollte da etwas "schräg" sein... naja. Aber in der UI der Shellys selbst ist alles normal und sie tun ihren Job ja auch so wie beabsichtigt.

Tasmota... das flashen wollte ich mir als die diese Micro-Pin-Header gesehen habe nicht antun... ich überlege mir dass noch.

@violine21
Der Shelly 2 PM ist als "Cover" definiert.

Ich verwende übrigens die letze FW von Shelly : 20240223-142031/1.2.2-g7c39781


----
Ok möglicherweise ist das Shelly-Binding für den Eimer, aber warum geht das mit HTTP Binding ebenfalls nicht?
- Im ersten Bild stehen bei Profile "Default" und "Follow". Bei mir "Standard" und "Folgen". Kein Plan ob sich eine möglicherweise fehlerhafte Konfiguration in dieser Weise auswirkt.
Das ist eine Frage der im Browser hinterlegten Sprache.
An meinen Desktoprecher ist die Sprache Deutsch (Standard/Folgen), auf dem Laptop eben English (Default/Follow) - mir doch egal/ I don't care !
Den Status benutze ich übrigens gar nicht. roller#control (Rollensteuerung) macht den Job imho viel besser.
Entweder verstehe ich dich, oder du mich nicht.
Ich will den Zustand sehen. und der ist eben ein Strich -. Wenn ich eine Rollershutter control in eine Page einbinde und an das Item roller#control binde, sehe ich keinen Zustand. Und wenn ich "State in Center" aktiviere ist der Stopp-Button weg (den will ich schon behalten) und der State ist wieder ein Strich.

Harka
Beiträge: 317
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: Status wird nicht angezeigt

Beitrag von Harka »

Ich will den Zustand sehen. und der ist eben ein Strich -. Wenn ich eine Rollershutter control in eine Page einbinde und an das Item roller#control binde, sehe ich keinen Zustand. Und wenn ich "State in Center" aktiviere ist der Stopp-Button weg (den will ich schon behalten) und der State ist wieder ein Strich.
Normal ist die Zahl gleichzeitig der Stopp-Schalter. Wenn roller#control aber auch nur ein Strich liefert ...
Ich hatte mit dem Binding, meiner Erinnerung nach, noch nie Probleme. Wenn bei der anderen Baustelle nicht das selbe währe würde ich selbst Thing + Binding entfernen, Cache löschen, Binding + Thing hinzufügen probieren. Ist jetzt aber nur Kaffeesatz lesen.

Antworten