Benachrichtigungen
Alles löschen

Lokale API mit REST und Websocket API

130 Beiträge
18 Benutzer
0 Likes
16.2 K Ansichten
(@jan-s)
Beiträge: 4
New Member
 

@puffolino Ich habe leider dasselbe Verhalten beobachtet. Der virtuelle Schalter wird mir zwar auf der Konfigurationsoberfläche als auch in der App angezeigt, jedoch kann ich ihn nicht einschalten. Nur über http-Bedehle ist es mir gelungen, was jedoch für meinen Anwendungsfall nicht hilft. Ich würde ihn gern als virtuelle Variable nutzen, um die An-/ Abwesenheit abzubilden.

Ist es jemanden gelungen, evtl. über weitere Attribute beim anlegen, dass der virtuelle Schalter auch über die Oberfläche/App bedienbar ist?

 
Veröffentlicht : 19/12/2020 9:06 am
(@babelbernd)
Beiträge: 124
Estimable Member
 

Man kann den Schalter später in der Konfiguration als Taster deklarieren. Hilft dir das weiter?

 
Veröffentlicht : 19/12/2020 3:11 pm
 Hubi
(@hubi)
Beiträge: 41
Trusted Member
 

Hallo zusammen,

tüftel auch grade mit der neuen API rum. Leider ist es bei mir auch schwierig mit dem einloggen. Beim versuch eine API aufzurufen bekomme ich die Meldung "401 Authorization Required".

@Babelbernd, kannst du damit was anfangen bzw wie hast du das gemacht?

 

Wäre doch gelacht wenn wir diese tolle neue Funktion nicht zum laufen bringen 🙂

Diese r Beitrag wurde geändert Vor 3 Jahren von Hubi
 
Veröffentlicht : 19/12/2020 9:22 pm
(@babelbernd)
Beiträge: 124
Estimable Member
 

@hubi 

Ich benutze Node-Red welches auf meinem Raspberry läuft (und meine Heizung mitloggt). Damit sende ich den Befehl dass die Lichter geschaltet werden. Bisher habe ich mich aber nicht weiter damit beschäftigt um ehrlich zu sein. 

 

Meldung 401 bedeutet einfach dass eben Benutzername und Passwort fehlen. Ich glaube ich schalt Mal den Laptop ein ?

 
Veröffentlicht : 19/12/2020 9:45 pm
 Hubi
(@hubi)
Beiträge: 41
Trusted Member
 

Node-Red, cool 🙂 Hatte ich auch schon etwas mit rumgespielt und geguckt was es mir für f@h bringt.

 

Wenn ich die neue API Funktionalität richtig verstehe, heißt es ja dass ich einen Aufruf wie von dir genutzt ("http://192.168.178.38/fhapi/v1/api/rest/datapoint/00000000-0000-0000-0000-000000000000/ABB2B2AB3251.ch0012.idp0000") über den Explorer nutzen kann um z.B. dem Licht zu sagen dass es an gehen soll. Der Kanal gibt dabei an welche Funktion des Lichts ich nutzen will? Was sagt mir die idp?

Kann ich den Aufruf, wie von mir versucht, über den Explorer machen oder muss ich das in dem /swagger Bereich machen? Den Swagger Bereich habe ich bisher nur als eine Art Testoberfläche gesehen. Ist das richtig?

 

Ziel wäre es bei mir, dass ich meine Lüftung als virtuelles Gerät anlegen kann und dann einfach über einen Aufruf steuern kann.

 

Danke schonmal für deine Hilfe ? 

 
Veröffentlicht : 19/12/2020 9:56 pm
(@babelbernd)
Beiträge: 124
Estimable Member
 

@hubi

Also zum Aufbau der Url: 

 

"192.168.178.38" ist die IP Adresse des SysAp

"/fhapi/v1/api/rest/datapoint/00000000-0000-0000-0000-000000000000/" ist denke ich sozusagen das Verzeichnis auf dem SysAP 

"ABB2B2AB3251" ist die Adresse des Aktors, diese Nummer findet man auf dem Aktor und auch in der Web-Oberfläche unter "Gerätekonfiguration"

"ch00012" ist der Kanal bzw. einer der 8 Ausgänge am Aktor. Diese sind ch000c, ch000d, ch000e, ch000f, ch0010, ch0011, ch0012, ch0013

"idp0000" steht für Input. 0 für aus und 1 logischerweise für an. 

 

Was ich noch nicht zum Laufen gebracht habe ist dass man einen Websocket anlegt und die Zustände der Aktoren abfrägt. Normalerweise sollten diese mit einem "odp0000" ausgegeben werden, sprich als Output. 

 

Leider kenne ich mich bei Curl nicht aus aber ich denke dass du auch damit deine Aktoren schalten kannst. Vielleicht findet sich dazu ja hier jemand der sich damit schon mal beschäftigt hat. 

 

Im Swagger-Bereich kannst du eigentlich die ganzen Bezeichnungen auslesen und aber auch unten bei den beiden "PUT" Menüs Aktoren ansprechen und virtuelle Schalter anlegen. 

 

Gruß Michael

 
Veröffentlicht : 19/12/2020 10:25 pm




 Hubi
(@hubi)
Beiträge: 41
Trusted Member
 

Okay, danke dir für das Erklären und aufdröseln des Aufrufs.

Mein Problem liegt aktuell wohl echt noch am Login.

Ich habe mit der App diesen persönlichen Loginnamen erzeugt. Zu diesem gebe ich dann mein Passwort (von meinem Nutzer) ein. Machst du das auch so?

Bei mir wird immernoch angezeigt: "401 Authentication information is missing or invalid" auch innerhalb des Swaggers. Da denke ich mal sollte sowas nicht kommen?

 

Aktuell würde es mir reichen damit einfach mal das Licht über mir einschalten zu können ? 

 
Veröffentlicht : 19/12/2020 10:33 pm
(@puffolino)
Beiträge: 14
Active Member
 

@hubi

Das Login hat mich Nerven gekostet - der Benutzer für das Autorisieren MUSS installer heißen, das Passwort entspricht jenem des Benutzers mit dem die REST API freigeschalten wurde (also mit dem man in der Next App wingeloggt war)...

...auf so etwas muss man erst einmal draufkommen 🙂

 
Veröffentlicht : 19/12/2020 10:48 pm
(@babelbernd)
Beiträge: 124
Estimable Member
 

@puffolino 

Das Problem mit dem Benutzer hatte ich nie da ich von Anfang an nur den "Installer" benutzt habe. 

@Hubi

Versuche es doch mal dass du den Aktor und den Kanal des Lichts über dir herausfindest. Dann kannst du in der /swagger-Oberfläche unter dem Menü "PUT​/api​/rest​/datapoint​/{sysap}​/{device}.{channel}.{datapoint}" normalerweise selbsterklärend das Licht ein und ausschalten. 

 
Veröffentlicht : 19/12/2020 10:53 pm
 Hubi
(@hubi)
Beiträge: 41
Trusted Member
 

@puffolino

Wie meinst du das Autorisieren? Für den Aufruf im Swagger?

Habe jetzt als Nutzer: installer

Und als Passwort, das Passwort von meinem User genommen? Funktioniert aber immer noch nicht.

 

@Babelbernd

Versuche ich sobald ich mal eingeloggt bin.

 

Was zeigt es euch denn im Swagger unter Responses an?

Bei mir sieht das aktuell so aus:

 
Veröffentlicht : 19/12/2020 11:05 pm
(@babelbernd)
Beiträge: 124
Estimable Member
 

@hubi

Hast du dich oben rechts eingeloggt im Swagger. Schau mal in deine Nachrichten rein. 

 
Veröffentlicht : 19/12/2020 11:12 pm
(@babelbernd)
Beiträge: 124
Estimable Member
 

@hubi

Das aus deinem Screenshot sind nur die Beispiele die als Response zurück kommen könnten. In der Zeile darüber findest du die eigentliche Antwort vom Server. 

 
Veröffentlicht : 19/12/2020 11:17 pm




(@puffolino)
Beiträge: 14
Active Member
 

Bezüglich des Swaggers:

1. Authorize (installer !!!! und Benutzer-Passwort)

2. Get

3. Try it out

4. Execute

 

Zum Taster - komme hoffentlich bald dazu, weiter herumzuspielen - momentan habe ich noch keine Lösung gefunden, free@home-intern (also ohne echten Geräten, Raspi-Service etc.) virtuelle Schalter ein- und auszuschalten.

 
Veröffentlicht : 20/12/2020 11:43 am
(@jan-s)
Beiträge: 4
New Member
 

@puffolino Sobald du einen Weg für den Taster gefunden hast, melde dich bitte hier in dem Thread! Extern schalten ist zwar ganz nett, aber um intern Zustände in Variablen festzuhalten, wäre ein Weg zur internen Schaltung sehr hilfreich. 

 
Veröffentlicht : 20/12/2020 1:06 pm
 Hubi
(@hubi)
Beiträge: 41
Trusted Member
 

@puffolino

Also ich habe es jetzt mit PUT "Set Datapoint Value" probiert. So wie ich das verstehe will ich ja dem Aktor sagen dass er den Wert 1 annehmen soll? Also PUT?

So sieht meine Eingabe aus, is da schon ein Fehler drin?

 

Kurz noch als Ergänzung. Der Zugriff klappt glaube ich da ich eine Device List bekomme, wenn ich diese abfrage.

Diese r Beitrag wurde geändert Vor 3 Jahren von Hubi
 
Veröffentlicht : 20/12/2020 1:53 pm
Seite 2 / 9

Teilen: