wget request weiter verarbeiten

Moderator: Co-Administratoren

Antworten
lexnared
Beiträge: 46
Registriert: 13.10.2016, 07:51

wget request weiter verarbeiten

Beitrag von lexnared » 07.03.2022, 23:11

Hallo!
Um ein Programm alles aus Programm zu erstellen, ist es für mich unabdingbar ein http request auszuwerten und weiter zu verarbeiten.

Vorhaben:
Harmony Hub ist mit ioBroker verbunden.
Mit Simple API wird der request aufgerufen.
Bis hier hin auch kein Problem.
Nur weiß ich nicht wie ich ab hier weiter machen soll.

Code: Alles auswählen

! Harmony Abfrage aktuelle Aktivität
string url = "http://192.168.1.30:8087/get/harmony.0.Harmony_Hub.activities.currentActivity";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O -  '"#url#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string requestHarmony = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
WriteLine(requestHarmony);
Rückgabe:

Code: Alles auswählen

{"val":"Fernsehen","ack":true,"ts":1660254287444,"q":0,"from":"system.adapter.harmony.0","user":"system.user.admin","lc":1615478654703,"type":"state","common":{"name":"activity:currentActivity","role":"indicator.activity","type":"string","write":true,"read":true},"native":{},"_id":"harmony.0.Harmony_Hub.activities.currentActivity","acl":{"object":1126,"state":1126}}
Ziel ist es die Rückgabe von "val" zu nutzen.
In dem aktuellen Fall "Fernsehen"

Den Inhalt von val, möchte ich in ERSETZEN schreiben

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget --no-check-certificate 'http://192.168.1.30:8087/set/harmony.0.Harmony_Hub.activities.ERSETZEN?value=0'");
Bitte um Hilfestellung
Zuletzt geändert von Roland M. am 13.03.2022, 19:26, insgesamt 1-mal geändert.
Grund: Thema verschoben

Benutzeravatar
shartelt
Beiträge: 7421
Registriert: 14.01.2015, 14:59
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 524 Mal
Danksagung erhalten: 752 Mal

Re: wget request weiter verarbeiten

Beitrag von shartelt » 08.03.2022, 08:54

wieso nimmst Du nicht einfach den Harmony Adapter und schreibst die current Activity in ne CCU Sytemvariable per Blocky?

also…alles direkt in iobroker machen und endergebnis da hin schicken, wo Du es benötigst?

lexnared
Beiträge: 46
Registriert: 13.10.2016, 07:51

Re: wget request weiter verarbeiten

Beitrag von lexnared » 08.03.2022, 11:19

Super Idee!
Hatte zuvor noch nichts mit Blocky zu tun!
Nicht gedacht das es so simpel ist.

Bitte um kurze Info ob ich etwas vernachlässigt habe, was evtl. essenziell wichtig ist.
Screenshot 2022-03-08 111016.png
ActivityHarmony ist die Systemvariable der CCU
activity:currentActivity die quelle des HarmonyHub


Nun zum eiegntlichen.
Die Systemvariable ActivityHarmony musste als Zeichenkette angelegt werden.
Wie kann ich mit dieser weiter arbeiten?
Ich weiß nicht, wie ich mit dieser in einem Programm arbeiten könnte.

Benutzeravatar
shartelt
Beiträge: 7421
Registriert: 14.01.2015, 14:59
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 524 Mal
Danksagung erhalten: 752 Mal

Re: wget request weiter verarbeiten

Beitrag von shartelt » 08.03.2022, 11:23

was willst Du denn damit machen?

ich habe die harmony sachen bei mir hauptsächlich für die iobroker alexa anbindung und ich bringe sie nicht in die ccu.

meiner Meinung nach, kannst Du alles was Du möchtest direkt im iobroker machen und musst nicht den umweg auf die ccu gehen :)

und da hilft Dir dann auch das iobroker forum weiter ;)

lexnared
Beiträge: 46
Registriert: 13.10.2016, 07:51

Re: wget request weiter verarbeiten

Beitrag von lexnared » 08.03.2022, 11:50

Ich möchte eine Alles AUS Programm schreiben.

Dies Beinhaltet alle Lichter, Heizung, Steckdosen, etc. AUS.

Das Problem daran, wenn der TV und das ganze drum herum, wie AVR, Receiver usw. noch an ist, soll dies zuvor Abschalten.
Das mache ich mit Harmony.

Wenn nun die Activity Fernsehen aktiv ist, bringt es mir nichts die Activity Sound herunterzufahren.
Im ungünstigsten fall, bleibt nämlich dann der TV Eingeschaltet.

Deshalb möchte ich auch den ActivityStatus in einen link schreiben, der dann den Abschaltvorgang auslöst.

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget --no-check-certificate 'http://192.168.1.30:8087/set/harmony.0.Harmony_Hub.activities.ERSETZEN?value=0'");
Bisher sind alle Programme in der CCU geschrieben.
Am liebsten habe ich eine Zentrale die das ganze Managet.
Prio also CCU, wenn nicht anders möglich, komme ich um ioBroker und blockly nicht vorbei

Benutzeravatar
shartelt
Beiträge: 7421
Registriert: 14.01.2015, 14:59
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 524 Mal
Danksagung erhalten: 752 Mal

Re: wget request weiter verarbeiten

Beitrag von shartelt » 08.03.2022, 11:56

schalte doch die Systemvariable auf die Du dann im ioBroker hörst und per Blocky die Harmony ausschaltest.
Also in der CCU die Variable setzen in Deinem komischen Programm und ioBroker macht dann die Anweisung anhand der Änderung der Variable.
lexnared hat geschrieben:
08.03.2022, 11:50
Bisher sind alle Programme in der CCU geschrieben.
Am liebsten habe ich eine Zentrale die das ganze Managet.
absolut korrekter Ansatz. Daher habe ich alles im ioBroker was Programmierung angeht. Ist logischer, einfacher und ich kann besser mit jscript und blocky umgehen.

lexnared
Beiträge: 46
Registriert: 13.10.2016, 07:51

Re: wget request weiter verarbeiten

Beitrag von lexnared » 08.03.2022, 12:15

shartelt hat geschrieben:
08.03.2022, 11:56
absolut korrekter Ansatz. Daher habe ich alles im ioBroker was Programmierung angeht. Ist logischer, einfacher und ich kann besser mit jscript und blocky umgehen.
Da gebe ich dir recht!
Homematic ist bei größeren Programmen in überhaupt nicht komfortabel.

Gerne versuche ich das ganze mal in Blockly.
Ich kann dir aber nicht folgen, wie ich dies in Blockly umsetze.
Schließlich muss ich doch auch hier die Zeichenkette von CurrentActivity auswerten und in den link einfügen?

Oder hast du eine einfacherer Vorgehensweise?

Benutzeravatar
shartelt
Beiträge: 7421
Registriert: 14.01.2015, 14:59
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 524 Mal
Danksagung erhalten: 752 Mal

Re: wget request weiter verarbeiten

Beitrag von shartelt » 08.03.2022, 12:22

mhh? Du hast den Harmony Adapter und setzt dann einfach die Activity Power Off:
2022-03-08 12_19_56-objects - ioBroker.png
indem Du denh indicator.status mit 0 setzt.

Deswegen ja Blocky, weil Du dann gar keine komischen requests schicken musst sondern direkt die ioBroker datenpunkte setzen kannst.

lexnared
Beiträge: 46
Registriert: 13.10.2016, 07:51

Re: wget request weiter verarbeiten

Beitrag von lexnared » 08.03.2022, 12:34

Manchmal kann es so einfach sein!!!
:lol: :lol: :lol:

Antworten

Zurück zu „Sonstige Steuerungen und Visualisierungen“