ASIR mit rest api / curl in CCU-JACK
Moderator: Co-Administratoren
-
- Beiträge: 60
- Registriert: 29.06.2023, 22:02
- System: Alternative CCU (auf Basis OCCU)
- Danksagung erhalten: 3 Mal
ASIR mit rest api / curl in CCU-JACK
Wie kann ich den optische oder akustisch alarm mit curl setzen. die "Technische Doku" sagt da nichts genaues aus.
habe ausprobiert
curl -X PUT -d '{"v":true}' http://192.168.xx.xx:2121/device/00245F ... ACTIVE/~pv probiert aber da gibts:
{"message":"RPC fault (code: -1, message: Generic error (MISSING_NON_OPTIONAL_PARAMETER))
die normal query gibt:
/device/00245F29B40C63/3/DURATION_UNIT:{'ts': 0, 'v': 0, 's': 100}
/device/00245F29B40C63/3/OPTICAL_ALARM_ACTIVE:{'ts': 1710082781896, 'v': False, 's': 0}
/device/00245F29B40C63/3/DURATION_VALUE:{'ts': 0, 'v': 0, 's': 100}
/device/00245F29B40C63/3/ACOUSTIC_ALARM_ACTIVE:{'ts': 1710082781896, 'v': False, 's': 0}
/device/00245F29B40C63/3/ACOUSTIC_ALARM_SELECTION:{'ts': 0, 'v': 0, 's': 100}
/device/00245F29B40C63/3/OPTICAL_ALARM_SELECTION:{'ts': 0, 'v': 0, 's': 100}
channel 1,2 sind leer, 0 gibt nur die normalen maintenance werte. "ACOUSTIC_ALARM_ACTIVE" und "OPTICAL_ALARM_ACTIVE sind korrekt, wenn ich auf dem raspberry den alarm im gui auslöse sind sie korrekt, sind aber nur read only parameter. kann man also nicht setzten..
AUCH wie kann ich mehrere Parameter in einem Aufruf setzten. in den CCU jack Beispielen gibts immer nur einen.
dank im Voraus
Karl
habe ausprobiert
curl -X PUT -d '{"v":true}' http://192.168.xx.xx:2121/device/00245F ... ACTIVE/~pv probiert aber da gibts:
{"message":"RPC fault (code: -1, message: Generic error (MISSING_NON_OPTIONAL_PARAMETER))
die normal query gibt:
/device/00245F29B40C63/3/DURATION_UNIT:{'ts': 0, 'v': 0, 's': 100}
/device/00245F29B40C63/3/OPTICAL_ALARM_ACTIVE:{'ts': 1710082781896, 'v': False, 's': 0}
/device/00245F29B40C63/3/DURATION_VALUE:{'ts': 0, 'v': 0, 's': 100}
/device/00245F29B40C63/3/ACOUSTIC_ALARM_ACTIVE:{'ts': 1710082781896, 'v': False, 's': 0}
/device/00245F29B40C63/3/ACOUSTIC_ALARM_SELECTION:{'ts': 0, 'v': 0, 's': 100}
/device/00245F29B40C63/3/OPTICAL_ALARM_SELECTION:{'ts': 0, 'v': 0, 's': 100}
channel 1,2 sind leer, 0 gibt nur die normalen maintenance werte. "ACOUSTIC_ALARM_ACTIVE" und "OPTICAL_ALARM_ACTIVE sind korrekt, wenn ich auf dem raspberry den alarm im gui auslöse sind sie korrekt, sind aber nur read only parameter. kann man also nicht setzten..
AUCH wie kann ich mehrere Parameter in einem Aufruf setzten. in den CCU jack Beispielen gibts immer nur einen.
dank im Voraus
Karl
- Baxxy
- Beiträge: 10936
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 617 Mal
- Danksagung erhalten: 2253 Mal
Re: ASIR mit rest api / curl in CCU-JACK
Die Fragen wären wohl im JACK-Unterforum besser aufgehoben.
Da die ASIR's m.W. keinen COMBINED_PARAMETER haben muss man wohl bei jedem "Ansteuern" alle 4 Datenpunkte beschreiben.
viewtopic.php?f=60&t=50491&p=506413#p506418
Ob sowas mit einem Curl-Aufruf möglich ist kann ich nicht sagen, ich würd's erstmal mit 4 Einzelaufrufen probieren.
Einfacher wäre es wohl sich ein paar "vorkonfektionierte" DV's zu virt.Tasten anzulegen und dann einfach die virt.Taste zu drücken.
Da die ASIR's m.W. keinen COMBINED_PARAMETER haben muss man wohl bei jedem "Ansteuern" alle 4 Datenpunkte beschreiben.
viewtopic.php?f=60&t=50491&p=506413#p506418
Ob sowas mit einem Curl-Aufruf möglich ist kann ich nicht sagen, ich würd's erstmal mit 4 Einzelaufrufen probieren.
Einfacher wäre es wohl sich ein paar "vorkonfektionierte" DV's zu virt.Tasten anzulegen und dann einfach die virt.Taste zu drücken.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 60
- Registriert: 29.06.2023, 22:02
- System: Alternative CCU (auf Basis OCCU)
- Danksagung erhalten: 3 Mal
Re: ASIR mit rest api / curl in CCU-JACK
ich kann das auch mit Python machen (mehrere parameter), habe nur curl genommen als Beispiel da das einfacher zu zeigen ist.
aber auch mit python ist die Adresse immer nur ein property : .../id/channel/property nicht mehrere, die Daten waeren kein Problem aber dort ist es immer "v":value und v ist immer nur ein v
aber auch mit python ist die Adresse immer nur ein property : .../id/channel/property nicht mehrere, die Daten waeren kein Problem aber dort ist es immer "v":value und v ist immer nur ein v
-
- Beiträge: 1801
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 60 Mal
- Danksagung erhalten: 266 Mal
- Kontaktdaten:
Re: ASIR mit rest api / curl in CCU-JACK
Die Fehlermeldung kommt direkt von der CCU und wird vom CCU-Jack nur durchgeleitet. Wie @Baxxy es schon angemerkt hatte, müssen wohl mehrere Parameter gleichzeitig beschrieben werden. Das unterstützt der CCU-Jack allerdings nicht.
Ich habe dazu mal ein Ticket auf GitHub erstellt.
Gruß
Mathias
Ich habe dazu mal ein Ticket auf GitHub erstellt.
Gruß
Mathias
-
- Beiträge: 60
- Registriert: 29.06.2023, 22:02
- System: Alternative CCU (auf Basis OCCU)
- Danksagung erhalten: 3 Mal
Re: ASIR mit rest api / curl in CCU-JACK
nur zur Vollstaendgkeit, fall jemand das im Skript machen moechte:
laest die beiden LED zusammen fuer 10 sek schnell blinken, kein akustisches signal
(DURATION_UNIT = 0 = secs, DURATION_VALUE = 10 units; ACOUSTIC_ALARM_SELECTION =0 = off; OPTICAL_ALARM_SELECTION =3 = schnelles blinken
siehe device doku Nr 3.3.4.1.6 fuer die blink... Optionen
Karl
Code: Alles auswählen
dom.GetObject("HmIP-RF.00245F29B40C63:3.DURATION_UNIT").State(0);
dom.GetObject("HmIP-RF.00245F29B40C63:3.DURATION_VALUE").State(10);
dom.GetObject("HmIP-RF.00245F29B40C63:3.ACOUSTIC_ALARM_SELECTION").State(0);
dom.GetObject("HmIP-RF.00245F29B40C63:3.OPTICAL_ALARM_SELECTION").State(3);
(DURATION_UNIT = 0 = secs, DURATION_VALUE = 10 units; ACOUSTIC_ALARM_SELECTION =0 = off; OPTICAL_ALARM_SELECTION =3 = schnelles blinken
siehe device doku Nr 3.3.4.1.6 fuer die blink... Optionen
Karl
-
- Beiträge: 60
- Registriert: 29.06.2023, 22:02
- System: Alternative CCU (auf Basis OCCU)
- Danksagung erhalten: 3 Mal
Re: ASIR mit rest api / curl in CCU-JACK
und ich finde es etwas merkwürdig, dass GetObject ... zum schreiben benutzt wird
-
- Beiträge: 336
- Registriert: 05.10.2020, 18:37
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 25 Mal
Re: ASIR mit rest api / curl in CCU-JACK
Hi
GetObject schreibt nix
State schreibt
GetObject holt das Object wo du drauf schreiben willst
Thomas
Is wohl nen Verständnisproblem
GetObject schreibt nix
State schreibt
GetObject holt das Object wo du drauf schreiben willst
Thomas
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
-
- Beiträge: 60
- Registriert: 29.06.2023, 22:02
- System: Alternative CCU (auf Basis OCCU)
- Danksagung erhalten: 3 Mal
Re: ASIR mit rest api / curl in CCU-JACK
und hier noch ein ausgebautes script:
damit wird ASIR über eine variable gesteuert
und beachten: viewtopic.php?f=26&t=25510&p=799039&hilit=Karl#p799039
"Bedingung wenn Änderung", "dann nichts", "sonst execute script".
Karl
Code: Alles auswählen
!reads variable alarmInput
! must be "address/dur unit/durationvalue/acoustic alarm/optical alarm"
! eg 00245F29B40C63/0/10/0/4
! then send commands to device ASIR to start alarm
!
var inp = dom.GetObject("alarmInput").Variable();
!WriteLine(inp); ! test write
var address = inp.StrValueByIndex("/", 0);
var DURATION_UNIT = inp.StrValueByIndex("/", 1);
var DURATION_VALUE = inp.StrValueByIndex("/", 2);
var ACOUSTIC_ALARM_SELECTION = inp.StrValueByIndex("/", 3);
var OPTICAL_ALARM_SELECTION = inp.StrValueByIndex("/", 4);
!WriteLine(address);
!WriteLine(DURATION_UNIT);
!WriteLine(DURATION_VALUE);
!WriteLine(ACOUSTIC_ALARM_SELECTION);
!WriteLine(OPTICAL_ALARM_SELECTION);
dom.GetObject("HmIP-RF."+address+":3.DURATION_UNIT").State(DURATION_UNIT);
dom.GetObject("HmIP-RF."+address+":3.DURATION_VALUE").State(DURATION_VALUE);
dom.GetObject("HmIP-RF."+address+":3.ACOUSTIC_ALARM_SELECTION").State(ACOUSTIC_ALARM_SELECTION);
dom.GetObject("HmIP-RF."+address+":3.OPTICAL_ALARM_SELECTION").State(OPTICAL_ALARM_SELECTION);
und beachten: viewtopic.php?f=26&t=25510&p=799039&hilit=Karl#p799039
"Bedingung wenn Änderung", "dann nichts", "sonst execute script".
Karl