Seite 1 von 1
BOSNotifier2 Adresse mit übergeben
Verfasst: 31. Dez 2019, 18:52
von mmo
Hallo,
ich möchte die Adresse die ich per Regel aus dem Telegramm auslese gerne an BOSNotifier2 übertragen dazu habe ich das Script angepasst:
Code: Alles auswählen
gatewaykey=%address%&message=%message%&headline=%title%&street=%koordinaten.strasse%&haouseNo=%koordinaten.hausnummer%&zipCode=%koordinaten.plz%&town=%koordinaten.stadt%&prio=0&authorization=%field1%
Leider wirft BOSMON wen ein Push getriggert wird folgende Fehlermeldung aus. So recht kann ich das nicht zuordnen warum er das macht.

- 2019-12-31 18_56_35-BOSMON - TeamViewer.png (14.95 KiB) 5738 mal betrachtet
jemand eine idee ?
danke im vorraus
mmo
Re: BOSNotifier2 Adresse mit übergeben
Verfasst: 25. Aug 2020, 21:50
von L@mmch3n
Hallo zusammen,
ich habe das gleiche Problem. Hat hier jemand schon eine Lösung ?
Laut der DOKU soll es ja so funktionieren
https://www.bosmon.de/doc/bosmon/1.5/h ... #variablen
Grüße und Danke
Re: BOSNotifier2 Adresse mit übergeben
Verfasst: 28. Aug 2020, 22:42
von bosmon
Hallo,
bei einer NotFoundException wurden Variablennamen benutzt die nicht existieren. Bitte nur diese Variablennamen nutzen:
https://www.bosmon.de/doc/bosmon/1.5/ho ... #variablen
Grüße
Thimo Eichstädt
Re: BOSNotifier2 Adresse mit übergeben
Verfasst: 30. Aug 2020, 16:48
von L@mmch3n
Hallo Thimo,
die Variabelen, aus der DOC habe ich genutzt, aber trotzem funktioniert es nicht.

- BosNotifier_Test.PNG (16.38 KiB) 4876 mal betrachtet
Code: Alles auswählen
gatewaykey=%address%&message=%message%&headline=%title%&prio=0&authorization=%field1%&street=%koordinaten.strasse%&houseNo=%koordinaten.hausnummer%&zipCode=%koordinaten.plz%&town=%koordinaten.stadt%
Es löst die Variabeln einfach nicht auf.

- WhatsApp Image 2020-08-30 at 16.53.01.jpg (44.36 KiB) 4876 mal betrachtet
Re: BOSNotifier2 Adresse mit übergeben
Verfasst: 7. Sep 2020, 16:03
von bosmon
Hallo,
die Variablen funktionieren im Ereignis selbst (im Textfeld und in der Titelzeile), nicht in den Push-Einstellungen.
Grüße
Thimo Eichstädt
Re: BOSNotifier2 Adresse mit übergeben
Verfasst: 8. Sep 2020, 18:39
von L@mmch3n
Hallo, so ich habe die Variabeln jetzt in der Nachricht eingefügt, und ja Sie werden nun auf gelöst.
Jetzt ist nur das Problem das, ich die Schlüsselwörter der API nicht übermitteln kann.
Die Frage ist jetzt wie wurde das PluginPorgrammiert, ich würde es so machen
Code: Alles auswählen
var client = new RestClient("https://api.bosnotifier.de/messages");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer PmalNtouuTlblLmFSYfltlKSVwrDTEAx");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("title", "TITLE");
request.AddParameter("group", "ID");
request.AddParameter("text", "NACHRICHT");
request.AddParameter("street", "Musterstraße");
request.AddParameter("houseNo", "4");
request.AddParameter("zipCode", "38xxx");
request.AddParameter("town", "Braunschweig");
request.AddParameter("country", "Deutschland");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Somit kann ich die Schlüsselwörter (street, houseNo, zipCode, town, contry) ja nicht übertragen.
Eine Idee wie man das am besten Lösen könnte ?
Re: BOSNotifier2 Adresse mit übergeben
Verfasst: 9. Sep 2020, 07:08
von L@mmch3n
Guten Morgen,
das Thema hat mir keine Ruhe gelassen. Ich habe es jetzt gelöst. Zwar nicht schön, aber es Funktioniert.
Ich habe für das Übertragen der Adresse jetzt die Felder %field2% bis %field3% genutzt.

- BosNotifier_Felder.PNG (22.11 KiB) 4731 mal betrachtet
Als nächstes habe ich über das Script die Felder mit Informationen versorgt
Code: Alles auswählen
public static bool ProcessResponse(int httpCode, String[] header, String content, out String result)
{
switch(content)
{
case "100": result = "OK"; return true;
case "600": result = "API Schlüssel nicht vorhanden oder nicht korrekt"; break;
case "700": result = "Gatewaykeys sind von unterschiedlichen Nutzern"; break;
case "800": result = "Kein Gatewaykey übergeben"; break;
case "900": result = "Keine Nachricht übergeben"; break;
default: result = content; break;
}
return false;
}
public static void PrepareVariables(System.Collections.Generic.IDictionary<String, String> variables)
{
String value;
if(! variables.TryGetValue("title", out value) || value == null || value.Trim().Length == 0)
variables["title"] = "Kein Titel";
if(! variables.TryGetValue("message", out value) || value == null || value.Trim().Length == 0)
{
variables["message"] = "Keine Meldung";
}
else
{
String[] koordinaten = variables["message"].Split('#');
variables["message"] = koordinaten[0];
if(! variables.TryGetValue("field2", out value) || koordinaten[1].Trim().Length == 0)
{
variables["field2"] = "Keine Strasse";
}
else
{
variables["field2"] = koordinaten[1];
}
if(! variables.TryGetValue("field3", out value) || koordinaten[2].Trim().Length == 0)
{
variables["field3"] = "keine Hausnummer";
}
else
{
variables["field3"] = koordinaten[2];
}
if(! variables.TryGetValue("field4", out value) || koordinaten[3].Trim().Length == 0)
{
variables["field4"] = "Keine PLZ";
}
else
{
variables["field4"] = koordinaten[3];
}
if(! variables.TryGetValue("field5", out value) || koordinaten[4].Trim().Length == 0)
{
variables["field5"] = "Kein Ort";
}
else
{
variables["field5"] = koordinaten[4];
}
}
}
Zum Schluss werden die Werte im Parameter übergeben
Code: Alles auswählen
gatewaykey=%address%&message=%message%&headline=%title%&prio=0&authorization=%field1%&street=%field2%&houseNo=%field3%&zipCode=%field4%&town=%field5%
Im Ereignis wird über den Text die Meldung und die Koordinaten nun übertragen, und im Script entsprechend wieder zerlegt. Als Trennzeichen habe ich # genutzt.
Code: Alles auswählen
%meldung%#%koordinaten.strasse%#%koordinaten.hausnummer%#%koordinaten.plz%#%koordinaten.stadt%#%koordinaten.land%
Wie schon gesagt, nicht schön aber es funktioniert.