Internorm Jalousien über http-Binding
-
- Beiträge: 49
- Registriert: 17. Jul 2022 23:34
Re: Internorm Jalousien über http-Binding
Jo, also mit deinem Befehl direkt im Browser hat sich eine Jalousie geöffnet, also die Lamellen geöffnet. Mit ...000D fuhr sie runter... 0007 stop, 000C hoch.. 00C ist wohl nur jalousie-lamellen öffnen. Also das tut es! aber natürlich keinerlei rückmeldung im openhab log wenn ich es so mache. wie und wo soll ich den den Code oben testen in openhab?
- udo1toni
- Beiträge: 15240
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Internorm Jalousien über http-Binding
Möächtest Du gesteinigt werden?
logInfo(string,string) erwartet exakt zwei Parameter, und zwar zwei Strings. Dabei ist der erste Parameter der Loggername. Leerzeichen haben im Loggernamen nichts zu suchen! Sonderzeichen haben im Loggernamen nichts zu suchen!
Streng genommen ist es auch nur ein Teil des Loggernamens, denn openHAB stellt automatisch ein "org.openhab.core.model.script." voran.
Der zweite String ist die eigentliche Meldung, die geloggt wird. Die log-Befehle beherrschen Substitution, also Ersetzung einer festgelegten Zeichenfolge durch den Inhalt einer Variablen.Fügt man {} in die Meldung ein, so wird das mit der nächsten angegebenen Variablen ersetzt. Dabei wird die Variable automatisch nach String gewandelt.
Ein korrekter logInfo-Befehl sieht also eher so aus:
Code: Alles auswählen
logInfo("request","Reqquest = {}",request)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 302
- Registriert: 7. Mär 2021 14:49
Re: Internorm Jalousien über http-Binding
nein, ich möchte nicht gesteinigt werden
deshalb halte ich mich besser da raus?
aber die Befehle sind in der InternormApi.pdf genau beschrieben!
die ersten zwei Ziffern für die Adresse und 4 Ziffern für den Befehl!
01 = 1. Gerät,
000C = Befehl auf
000D = Befehl ab
0007 = Stop
den Code kannst du in einer Rule einbauen und testen!

deshalb halte ich mich besser da raus?
aber die Befehle sind in der InternormApi.pdf genau beschrieben!
die ersten zwei Ziffern für die Adresse und 4 Ziffern für den Befehl!
01 = 1. Gerät,
000C = Befehl auf
000D = Befehl ab
0007 = Stop
den Code kannst du in einer Rule einbauen und testen!
OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux
-
- Beiträge: 49
- Registriert: 17. Jul 2022 23:34
Re: Internorm Jalousien über http-Binding
Moin, also wie gehts nun weiter, dass die Befehle auch über die rule in oh ausgeführt werden? Ich kann der Konversation über die loginfo nicht ganz folgen, bzw. das löst ja nicht das Problem oder ?
-
- Beiträge: 302
- Registriert: 7. Mär 2021 14:49
Re: Internorm Jalousien über http-Binding
im Prinzip sollte die Rule von Udo so funktionieren,
wenn das auch mit den Schaltern in der Gruppe für mich etwas komplex ist!
ich versuche sowas immer erst mit einem Schalter.
aber ein Hinweis, versuche erst mal im Thing den Abschnitt "mode" zu ändern.
irgendwas war da auch bei mir, hat nur mit
mode = "WRITEONLY", funktioniert !
wenn das nicht funktioniert,
noch mal ein Beispiel von mir mit einem Schalter,
das Thing:
das Item dazu:
"mediola" eventuell in beiden anpassen!
wenn ich nicht wieder ein Fehler eingebaut habe,
sollte das funktionieren!
wenn das auch mit den Schaltern in der Gruppe für mich etwas komplex ist!
ich versuche sowas immer erst mit einem Schalter.
aber ein Hinweis, versuche erst mal im Thing den Abschnitt "mode" zu ändern.
irgendwas war da auch bei mir, hat nur mit
mode = "WRITEONLY", funktioniert !
wenn das nicht funktioniert,
noch mal ein Beispiel von mir mit einem Schalter,
das Thing:
Code: Alles auswählen
Thing http:url:mediola "Aio Gateway http" [baseURL="http://192.168.0.5/command?", authMode= "BASIC", commandMethod="GET", ignoreSSLErrors = true , bufferSize = "2048", timeout = "3000", refresh=60 ]
{
Channels:
Type rollershutter: P4RL1_01 "Rollershutter 01" [mode = "WRITEONLY", upValue = "XC_FNC=SendSC&type=IN&data=0100C", downValue = "XC_FNC=SendSC&type=IN&data=0100D", stopValue = "XC_FNC=SendSC&type=IN&data=01007",commandExtension = "%2$s" ]
}
Code: Alles auswählen
Rollershutter P4RL1_01 "Küche" <roolershutter> { channel="http:url:mediola:P4RL1_01"}
wenn ich nicht wieder ein Fehler eingebaut habe,

OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux
- udo1toni
- Beiträge: 15240
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Internorm Jalousien über http-Binding
Das mit der Gruppe ist nicht weiter schwer
der wichtigste Punkt ist, dass man benötigte Informationen aus dem Itemnamen herleiten kann (wie in diesem Fall eben die Adresse als HEX-Zahl), so dass man die Rule um das Ganze herum nicht mehrfach schreiben muss.
Die Rule an sich sollte nicht das Problem sein, die Funktion kann man ja leicht raus loggen. Aber offensichtlich funktioniert die Anbindung über das http Binding nicht wie erwartet.
Du könntest noch versuchen, statt der http Bindings das http/j Binding zu installieren. J-N-K betreibt einen 3rd-Party-Marketplace, so dass er seine Bindings schneller zur Verfügung stellen kann. In den meisten Fällen sind das, soweit ich es verstanden habe, Forks von bestehenden Bindings, die fehlerbereinigt sind. Speziell beim http Binding gab es auch irgendein Problem, ich habe aber keinen Schimmer, ob das hier zum Tragen kommen könnte, oder ob es am Ende eh auch schon im openHAB Addons Repository gefixt ist.

Die Rule an sich sollte nicht das Problem sein, die Funktion kann man ja leicht raus loggen. Aber offensichtlich funktioniert die Anbindung über das http Binding nicht wie erwartet.
Du könntest noch versuchen, statt der http Bindings das http/j Binding zu installieren. J-N-K betreibt einen 3rd-Party-Marketplace, so dass er seine Bindings schneller zur Verfügung stellen kann. In den meisten Fällen sind das, soweit ich es verstanden habe, Forks von bestehenden Bindings, die fehlerbereinigt sind. Speziell beim http Binding gab es auch irgendein Problem, ich habe aber keinen Schimmer, ob das hier zum Tragen kommen könnte, oder ob es am Ende eh auch schon im openHAB Addons Repository gefixt ist.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 302
- Registriert: 7. Mär 2021 14:49
Re: Internorm Jalousien über http-Binding
zum versuchen hätte ich auch noch eine ganz einfache Rule für einen Schalter.
aber wie schon gesagt, würde erst mal im Thing beim senden das in
mode = "WRITEONLY" ändern
Edit:
sehe gerade das im Thing noch mehr anders als bei mir ist:
ignoreSSLErrors: true
channelTypeUID: steht bei dir String, vermute da müsste dann channelTypeUID: Rollershutter hin.
Code: Alles auswählen
rule "Internorm Rollershutter 1"
when
Item P4RL1_01 changed
then
var strCommand = ""
if (P4RL1_01.state==ON) { strCommand = "0100C" }
if (P4RL1_01.state==OFF) { strCommand = "0100D" }
if (P4RL1_01.state==STOP) { strCommand = "01007" }
var senden = "http://192.168.0.5/command?XC_FNC=SendSC&type=IN&data="+strCommand
var request = sendHttpGetRequest (senden,11001)
logInfo("request","Request = {}",request)
end
mode = "WRITEONLY" ändern
Edit:
sehe gerade das im Thing noch mehr anders als bei mir ist:
ignoreSSLErrors: true
channelTypeUID: steht bei dir String, vermute da müsste dann channelTypeUID: Rollershutter hin.
OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux
- udo1toni
- Beiträge: 15240
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Internorm Jalousien über http-Binding
NEIN!
Der Channel wird zum Senden eines Strings verwendet und hat nichts mit einem Rollershutter zu tun!
Grundsätzlich kann man natürlich auch mit der Action arbeiten (sendHttpGetRequest), aber schöner wäre es schon, das über ein Thing zu erledigen, sonst muss man die Konfiuguration splitten, also der Sende-Teil in der Rule, der Empfangsteil in den Things, das ist fehleranfällig.
Übrigens stimmt der Aufruf nicht, sendHttpGetRequest nutzt entweder einen oder drei Parameter, das wäre dann als zweiter Parameter der Header und als dritter Parameter der Timeout. Siehe offizielle Doku.
Der Channel wird zum Senden eines Strings verwendet und hat nichts mit einem Rollershutter zu tun!
Grundsätzlich kann man natürlich auch mit der Action arbeiten (sendHttpGetRequest), aber schöner wäre es schon, das über ein Thing zu erledigen, sonst muss man die Konfiuguration splitten, also der Sende-Teil in der Rule, der Empfangsteil in den Things, das ist fehleranfällig.
Übrigens stimmt der Aufruf nicht, sendHttpGetRequest nutzt entweder einen oder drei Parameter, das wäre dann als zweiter Parameter der Header und als dritter Parameter der Timeout. Siehe offizielle Doku.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 49
- Registriert: 17. Jul 2022 23:34
Re: Internorm Jalousien über http-Binding
Hi Udo, das andere Binding finde ich nicht. Aber es muss doch irgendwie anders gehen.. vielleicht mal einige debug schritte einbauen, um zu sehen wie die Commandos aussehen etc. ?
-
- Beiträge: 302
- Registriert: 7. Mär 2021 14:49
Re: Internorm Jalousien über http-Binding
hab jetzt mal die Rule mit der Gruppe von Udo nachgebaut,
zum testen meine FS20 Schalter eingesetzt.
funktioniert einwandfrei !
nur den Befehl :
habe ich geändert auf :
kommt aber darauf an wie deine Items aussehen mit 1 oder 2 Unterstriche?
der Fehler kann eigentlich nur noch an einem Parameter vom Thing liegen!
zum testen meine FS20 Schalter eingesetzt.
funktioniert einwandfrei !
nur den Befehl :
Code: Alles auswählen
val strAdr = triggeringItem.name.split("_").get(2)
Code: Alles auswählen
val strAdr = triggeringItem.name.split("_").get(1)
der Fehler kann eigentlich nur noch an einem Parameter vom Thing liegen!
OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux