StefanW hat geschrieben: ↑Mo Mär 21, 2022 3:28 pm
Aus der der von Dir verlinkten API (den Beispielen) kann man ersehen, dass USER und TOKEN als Parameter zu übergeben sind, NICHT als HEADER.
Ein typisches Layer 8 Problem meinerseits.
Sorry. Ist alles komplett neu für mich.
StefanW hat geschrieben: ↑Mo Mär 21, 2022 3:28 pm
Also bitte noch zwei Logiken anlegen, welche die Strings für USER und TOKEN erzeugen und diese Objekte als Parameter übergeben, so wie TEXT auch. Hierbei sind die Trigger so einzustellen, dass diese beiden Werte gesendet werden, wenn TEXT sich ändert, so dass immer alles drei übergeben wird.
Und an dieser Aufgabe bin ich sowohl gestern als auch heute Abend gescheitert und weiß wieder nicht was ich falsch mache...
Meine Überlegung war: Wie bekomme ich drei strings "gleichzeitig"/in der richtigen Reihenfolge aus der Logik in die HTTP-API?
Für meinen ersten Test hatte
@Sun1453 mir ja bereits den Multiplexer empfohlen, um damit einen aus n Nachritentexten auszuwählen und an das message Opjekt der HTTP-API zu senden. Das hat ja auch gut funktioniert.
Mein erster Gedanke war drei Multiplexer "synchron" anzusteuern, aber da ich mich eh in Custom Logiken einarbeiten möchte habe ich einen anderen Weg gewählt und folgende Logik gebaut.
Code: Alles auswählen
/**
* New custom logic
*
*
*/
{
"_Meta": { // Optional
"Description": "Zwei String-Inputs nehmen als Parameter user und token auf. Der dritte String-Input nimmt die Nachricht entgegen. Getriggert auf dem Nachrichten-String werden alle drei Strings an die Ausgänge weitergereicht, welche dann als Input für die HTTP-API dienen.",
"Version": "1.00",
"Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
},
"Input": [
["token","Pushover APP-TOKEN (string)","$i_token_str","u"],
["user","Pushover user key (string)","$i_user_str","u"],
["message","Pushover message to be send (string)","$i_message_str","a"]
],
"Output": [
["token","Pushover APP-TOKEN (string)","$o_token_str","a"],
["user","Pushover user key (string)","$o_user_str","a"],
["message","Pushover message to be send (string)","$o_message_str","t"]
],
"Level": [
// in
["$i_token_str","string",""],
["$i_user_str","string",""],
["$i_message_str","string",""],
// out
["$o_token_str","string",""],
["$o_user_str","string",""],
["$o_message_str","string",""],
// const
["$const_int_0","integer",0],
// break
["$VAR<Inhibit?>","bool",false]
],
"Module": [
["Multiplexer",["$i_token_str"],"$o_token_str","$const_int_0"],
["Multiplexer",["$i_user_str"],"$o_user_str","$const_int_0"],
["Multiplexer",["$i_message_str"],"$o_message_str","$const_int_0"],
["Break",["$VAR<Inhibit?>"]]
]
}
Vermutlich ein sehr kühner Ansatz von mir gleich bei meiner erstan Custom Logik mit einer String-Logik starten zu wollen... ¯\_(ツ)_/¯
Das ganze sieht jetzt so aus:
Screenshot 2022-03-22 at 22.20.21.png
Und das was mal in der HTTP-API ankam sah so aus:
Screenshot 2022-03-22 at 22.21.37.png
Ich habe hier tatsächlich meine echten und ungekürzten user und api keys als Parameter an den Eingängen user und token der Custom Logik. Leider brauche ich hier nichts zu zensieren, weil diese scheinbar nicht vollständig übertragen werden. Beide keys sind im Original 30 Zeichen lang. Ich sehe aber am Ende nur die ersten 15 Zeichen davon. Und einen Mouse Over entdecke ich auch nicht in dem der volle string stände.
Von der Message scheinen den Multiplexer noch 30 Zeichen zu verlassen. Am Ende der Custom Logik sehe ich auch von diesem String nur 15 Zeichen.
BTW: was habe ich kaputt gemacht, dass die Doktor-Daten-Felder teilweise so verrutscht sind?
Auch zwischen der Logik und der HTTP-API habe ich irgendeinen Bock gebaut. Jedenfalls schaffe ich es nicht mehr, dass die strings, die der Doktor am Logikausgang anzeigt, auch tatsächlich in der Ansicht der HTTP-API in deren Objekten ankommen. Egal ob ich am Multiplexer Text 1 oder Text 2 trigger, die Werte kommen in der HTTP-API nicht mehr an und es geht dementsprechend auch kein POST mehr raus.
Oh, ach ja: Ich verstehe die Triggereinstellungen in der HTTP API auch wohl nicht ganz. Jedenfalls entnehme ich den Texten in diesem Screenshot, dass ich immer nur bei Wertänderungen die API triggern kann, nicht aber bei einem erneuten Eintreffen des identischen Textes.
Screenshot 2022-03-22 at 22.44.49.png
Wenn ich also nacheinander zweimal die gleiche Nachricht schicken möchte (Beispiel es klingelt 2x im Abstand von 5 Minuten an der Tür) scheint das nicht zu gehen, oder doch?
Ich bin gerade kurz vorm Aufgeben, weil ich bei meinen Versuchen keinen Vortschritt mehr sehe. Vermutlich versuche ich das System/den TWS hier in einer Weise zu nutzen, für die es/er so nicht gedacht war. Vermutlich ist das alles eher auf Werte und nicht auf Strings ausgelegt und ich sollte mich einfach in Gedult üben und auch die Nachrichtenzentrale warten.
Falls diese Probleme alle nur an meinem Unverständnis oder einer Fehlanwendung meinerseits liegen, bitte ich die Unannehmichkeiten zu entschuldigen. Ich möchte es jedenfalls vermeiden extra ein NodeRed nur für Pushnachrichten betreiben zu müssen. Zumal NodeRed und Docker zwei weitere Systeme wären von denen ich nicht die geringste Ahnung habe.
Falls Elabnet in dem was ich hier berichte irgendwelche bugs findet bin ich froh, wenn dieser Thread zu irgendwas gut war.
Mein Plan war es meine Loxone von den letzten par Aufgaben zu befreien, die sie noch hat und diese mit dem TWS abzubilden. Dabei wollte ich eigentlich in diesem Thread eine "How to Pushover mit dem TWS" Anleitung erstellen, die ich mir selbst gerade wünsche. Leider bin ich damit trotz toller Unterstützung offensichtlich krachend gescheitert.
Dennnoch vielen Dank für euren Einsatz
@Sun1453 und natürlich
@StefanW.
Falls das hier doch noch klappen sollte wäre es natürlich schön, aber ich beginne gerade zu resignieren und mich mit der Situation abzufinden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.