Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von udo1toni »

Die REST API ist fester Bestandteil von openHAB2. Wenn Du im Dashboard schaust, sollte es da eine Kachel für die REST API Dokumentation geben. Falls die Dokumentation nicht eingerichtet ist, kannst Du sie problemlos über Paper UI nachinstallieren (befindet sich in der Rubrik UI)

Wie der Name schon sagt, ist das die Dokumentation, die in diesem Fall interaktiv ausgeführt ist. Schau es Dir an :) das ist eigentlich weitgehend selbsterklärend. Die Doku ist vor allem Doku, gewöhnlich wird man dort nachschauen, wie der passende Aufruf aussehen muss, um ein gewünschtes Ergebnis zu erzielen (um z.B. mit einem externen Programm Dinge in openHAB zu erledigen), man kann darüber aber auch bequem z.B. die Konfiguration beeinflussen (na ja, wenn man weiß, was man tut... ;)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

PALADIN
Beiträge: 55
Registriert: 26. Jun 2020 09:54

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von PALADIN »

Bei mir war diese REST API Dokumentation nicht installiert, aber ich habe sie, wie Du es beschrieben hast, unter UI in der Rubrik Add-ons gefunden und dann auch installiert. Allerdings taucht sie (auch nach einem Neustart) nicht auf der linken Seite auf, wo Control, Inbox, Configuration etc. stehen und es scheint auch nirgendwo eine Konfigurationsmöglichkeit für diese REST API zu geben. Meine Übersichtsseite ist allerdings auch wohl generell etwas "zickig", da ich sie zwar in sämtlichen Menüs auf Deutsch umgestellt habe, aber nach wie vor alles auf Englisch ist. Mag also gut sein, daß hier etwas mit meiner Paper UI selbst im Argen ist...

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

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von udo1toni »

Die REST API ist immer installiert, nur die Dokumentation ist optional. Sie taucht (außer in der Liste der installierten UIs) nicht in Paper UI auf, sie ist nur über das Dashboard erreichbar (http://ip.des.openhab.rechners:8080/)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

PALADIN
Beiträge: 55
Registriert: 26. Jun 2020 09:54

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von PALADIN »

Ok, nach dem Hinweis bez. der richtigen Adresse habe ich dann auch die REST API endlich gefunden! :-D
Ich habe den Code aus einem Deiner vorherigen Beiträge eingetragen und den Token und die Chat-ID ergänzt.
Nach einem Kick auf "Try it out" kommt dann Folgendes (Chat-ID und Token habe ich nach dem Einfügen händisch rausgelöscht):

Response Messages
HTTP Status Code Reason Response Model Headers
400
A uid must be provided, if no binding can create a thing of this type.

409
A thing with the same uid already exists.

Hide Response
Curl
curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" -d "{
\"label\": \"Telegram Bot\",
\"configuration\": {
\"proxyType\": \"SOCKS5\",
\"parseMode\": \"\",
\"chatIds\": \"<händisch von mir gelöscht>\",
\"botToken\": \"<händisch von mir gelöscht>\"
},
\"properties\": {},
\"UID\": \"telegram:telegramBot:Telegram_Bot\",
\"thingTypeUID\": \"telegram:telegramBot\"
}" "http://192.168.178.10:8080/rest/things"
Request URL
http://192.168.178.10:8080/rest/things
Response Body
{
"error": {
"message": "Thing telegram:telegramBot:Telegram_Bot already exists!",
"http-code": 409
},
"entity": {
"statusInfo": {
"status": "ONLINE",
"statusDetail": "NONE"
},
"editable": true,
"label": "Telegram Bot",
"configuration": {
"proxyType": "SOCKS5",
"parseMode": "",
"chatIds": [
"<händisch von mir gelöscht>"
],
"botToken": "<händisch von mir gelöscht>"
},
"properties": {},
"UID": "telegram:telegramBot:Telegram_Bot",
"thingTypeUID": "telegram:telegramBot",
"channels": [
{
"linkedItems": [],
"uid": "telegram:telegramBot:Telegram_Bot:lastMessageText",
"id": "lastMessageText",
"channelTypeUID": "telegram:lastMessageText",
"itemType": "String",
"kind": "STATE",
"label": "Last Message Text",
"description": "Contains the latest message text as a string",
"defaultTags": [],
"properties": {},
"configuration": {}
},
{
"linkedItems": [],
"uid": "telegram:telegramBot:Telegram_Bot:lastMessageURL",
"id": "lastMessageURL",
"channelTypeUID": "telegram:lastMessageURL",
"itemType": "String",
"kind": "STATE",
"label": "Last Message URL",
"description": "Contains the URL of the latest message",
"defaultTags": [],
"properties": {},
"configuration": {}
},
{
"linkedItems": [],
"uid": "telegram:telegramBot:Telegram_Bot:lastMessageDate",
"id": "lastMessageDate",
"channelTypeUID": "telegram:lastMessageDate",
"itemType": "DateTime",
"kind": "STATE",
"label": "Last Message Date",
"description": "Contains the latest message date as a DateTime",
"defaultTags": [],
"properties": {},
"configuration": {}
},
{
"linkedItems": [],
"uid": "telegram:telegramBot:Telegram_Bot:lastMessageName",
"id": "lastMessageName",
"channelTypeUID": "telegram:lastMessageName",
"itemType": "String",
"kind": "STATE",
"label": "Last Message Name",
"description": "Contains the latest message senders name as a string",
"defaultTags": [],
"properties": {},
"configuration": {}
},
{
"linkedItems": [],
"uid": "telegram:telegramBot:Telegram_Bot:lastMessageUsername",
"id": "lastMessageUsername",
"channelTypeUID": "telegram:lastMessageUsername",
"itemType": "String",
"kind": "STATE",
"label": "Last Message Username",
"description": "Contains the latest message senders username as a string",
"defaultTags": [],
"properties": {},
"configuration": {}
},
{
"linkedItems": [],
"uid": "telegram:telegramBot:Telegram_Bot:chatId",
"id": "chatId",
"channelTypeUID": "telegram:chatId",
"itemType": "String",
"kind": "STATE",
"label": "Chat Id",
"description": "Contains the id of chat from where the message was received.",
"defaultTags": [],
"properties": {},
"configuration": {}
},
{
"linkedItems": [],
"uid": "telegram:telegramBot:Telegram_Bot:replyId",
"id": "replyId",
"channelTypeUID": "telegram:replyId",
"itemType": "String",
"kind": "STATE",
"label": "Reply Id",
"description": "Contains the id of the reply which was passed to sendTelegram() as replyId. This id can be used to have an unambiguous assignment of the user reply to the message which was sent by the bot.",
"defaultTags": [],
"properties": {},
"configuration": {}
}
]
}
}
Response Code
409
Response Headers
{
"content-encoding": "UTF-8",
"content-length": "2832",
"content-type": "application/json",
"server": "Jetty(9.4.20.v20190813)"
}

Ist das, trotz der Fehlermeldungen, so alles korrekt und wie es sein sollte?
Ich finde übrigens auch nirgendwo einen Button zum Speichern meiner Eingaben - oder geht das automatisch nach der Eintragung und ich kann das Fenster einfach nur schließen?

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

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von udo1toni »

Der telegram Bot existiert bereits (steht ja da... ;) Du kannst natürlich nur dann ein Thing per REST API anlegen, wenn es noch nicht existiert.

Der REST API Aufruf und das Things-File sind ein entweder oder, nicht beides nacheinander...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

PALADIN
Beiträge: 55
Registriert: 26. Jun 2020 09:54

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von PALADIN »

Ich weiß, ich stelle viele, viele blöde Fragen, aber leider ist und bleibt openHAB nach wie vor ein Buch mit sieben Siegeln für mich...

Ich hatte das Binding bereits versucht einzurichten und der Bot ist bereits angelegt. Daß es daher zu einer solchen Fehlermeldung kommen mußte, war sogar mir klar. ;-) Was mir aber noch immer nicht klar ist:

1) Kann ich das Fenster mit dieser REST API jetzt einfach schließen oder ist dann alles, was ich eingetragen habe, sofort (oder nach dem nächsten Neustart) weg?

2) Ist das jetzt so ok (also Telegram-Binding fertig eingerichtet und laufffähig) oder muß ich wegen der Fehler noch irgendetwas machen?

3) Wie arbeite ich anschließend, wenn alles einmal laufen sollte, mit dem Telegram Bot? Bei ioBroker gab es die Möglichkeit, sich Statusmeldungen (Sensor XY hat ausgelöst o.ä.) per Telegram aufs Handy schicken zu lassen. Genauso kann man wohl auch per Telegram Dinge auslösen, z.B. einen Thermostat verstellen o.ä. Das Ganze wurde meist per Blockly umgesetzt. Wie läuft das nun aber bei openHAB, wo es das offenbar nicht gibt und das Binding selbst keinerlei Funktionen zu besitzen scheint? Da fehlt doch mutmaßlich irgendetwas dazwischen (Thing und/oder Channel?), was die Funktion des Blockly-Scripts als zugleich "Schnittstelle" und "Steuerungseinheit" übernimmt!?

Sorry fürs viele Fragen... Wie eingangs erwähnt: Ich bin auch immer dankbar für Einführungsvideos oder Anleitungen, um mir das selbst zu erarbeiten - aber irgendwie gibt es für openHAB (zumindest unter Windows) herzlich wenig...

EDIT: Aufgrund eines Windows-Updates mußte ich zwischenzeitlich neustarten. Der Eintrag in der REST API ist komplett weg (dort steht also weder der alte, noch der neue von mir), aber dafür ist der Telegram-Bot jetzt als online markiert. Es scheint also zu funktionieren.

PALADIN
Beiträge: 55
Registriert: 26. Jun 2020 09:54

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von PALADIN »

Und dann direkt noch Frage Nr. 5 hinterher:

Ich habe es zwischenzeitlich endlich mal geschafft, auch das Zigbee-Binding zu installieren. Allerdings findet der USB-Stick (Modell 2531 an COM-Port 3 mit Baudrate 115200), obwohl unter Things als online gelistet, keine Geräte!
Inbox, Scan for Things habe ich auch erfolglos ausprobiert. Bei manuellem Hinzufügen gibt es nur Sticks und einen Wasserlecksensor, aber keines meiner Geräte (die da wären: Osram Steckdosen, Aqara 2-Wege-Schaltrelais, Heiman CO2-Sensor, Xiaomi Gassensor).

Und dann noch Frage Nr. 6:

Beim Fritzbox Binding werden meine ganzen DECT-Geräte (COMET-Thermostate, Repeater und Steckdosen) und Powerline-Adapter gefunden.
Allerdings gibt es auch hier zwei Probleme:
Erstens: Es passiert nichts, wenn ich die Steckdosen (fertig eingerichtet) unter Control schalte!
Zweitens: Es werden sämtliche AVM-Geräte zwischendurch immer wieder mal für längere Zeit unter Things als grau (offline) gelistet. Nach einem Neustart werden sie üblicherweise grün und bleiben es auch längere Zeit, bis sie dann eben wieder für längere Zeit offline gehen (in der Mesh-Übersicht der Fritzbox selbst sind und bleiben sie allerdings durchgehend online).

EmptySoft
Beiträge: 188
Registriert: 7. Jan 2020 14:45
Answers: 2
Kontaktdaten:

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von EmptySoft »

Wenn die Werte erhalten bleiben sollen, müssen die Items persistent gespeichert werden. Doku: https://www.openhab.org/docs/configurat ... tence.html wenn keine historischen Werte benötigt werden, genügt mapdb. Keine Sorge, Du kannst mehrere parallel verwenden
BYe
Harald

PALADIN
Beiträge: 55
Registriert: 26. Jun 2020 09:54

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von PALADIN »

EmptySoft hat geschrieben: 3. Jul 2020 09:45 Wenn die Werte erhalten bleiben sollen, müssen die Items persistent gespeichert werden. Doku: https://www.openhab.org/docs/configurat ... tence.html wenn keine historischen Werte benötigt werden, genügt mapdb. Keine Sorge, Du kannst mehrere parallel verwenden
Ok, meine Fragenliste wird immer länger statt kürzer... :-D Aber ich bin froh, daß sich endlich auch mal noch ein zweiter "Durchblicker" zu Wort meldet und ich nicht die ganze Zeit nur den armen Udo quäle! ;-)

Wenn ich das mit diesen Persistences richtig verstanden habe (habe die Doku gelesen, aber, trotz "Re-Engineering" als Anfänger eben nur teilweise verstanden), sind das also Verwahrungsorte für so ziemliche alle Einstellungen (wie bspw. die Einstellungen meines Telegram Bots), historischen Werte (z.B. Stromverbräuche von Geräten) und sonstigen Daten.

Da ich aktuell keine einzige Persistence eingerichtet habe, würden meine Einstellungen also über kurz oder lang (schon nach einem einfachen Neustart?) über den Jordan gehen??
Würde das dann vielleicht auch erklären, weshalb meine ganzen AVM-Geräte immer wieder offline und online im Wechsel sind?
Komischerweise bleibt der Telegram Bot aber "grün", selbst nach den zwischenzeitlich erfolgten Neustarts. Hat der dann also doch die Einstellungen irgendwie irgendwo gespeichert?
Auch bleiben meine Einstellungen zum Wohnort, zur Sprache etc. pp. allesamt gespeichert - auch wenn zumindest das UI sich trotzdem konsequent weigert, sich endlich mal auf Deutsch umzustellen...
Sehr verwirrend das alles!

Welche Persistence(s) sollte ich denn (als blutiger Anfänger) installieren? Mir ist zunächst erst einmal wichtig, daß meine Einstellungen, die ich vorgenommen habe, auch tatsächlich erhalten bleiben (sofern sie das nicht ohnehin schon tun sollten).

Als "Luxus-Feature" wäre es dann längerfristig sehr nett, wenn folgende Geräte ihre Zustände und Verbräuche auch dauerhaft speichern würden, damit ich Alarme nachverfolgen und Verbräuche erfassen kann:
- AVM-Steckdosen (546e, DECT200 und DECT210)
- Xiaomi Aqara 2-Wege-Zigbee-Relais
- Zigbee-Sensoren (Xiaomi Gassensor und Heiman CO2-Sensor)

PALADIN
Beiträge: 55
Registriert: 26. Jun 2020 09:54

Re: Hilfe bei Ersteinrichtung und Setup meiner Hardware (Anfänger)

Beitrag von PALADIN »

Update:
Ich habe zwar (von der Reihenfolge einmal abgesehen) nichts anders gemacht, aber auf einmal klappt es mit der Integration der Zigbee-Geräte! :-) Der Zigbee-Lichtschalter und die Osram-Steckdosen lassen sich, im Gegensatz zu den AVM-Steckdosen, sogar schalten. Mal schauen, ob es bei den AVM-Geräten jetzt vielleicht auch auf einmal klappt...

Antworten